Скажите, что я имею *.zip файл и хочу использовать разархивированные файлы - более точно имена файлов - непосредственно, как введено к другой команде в терминале. Как это могло быть выполнено?
Пример:
- У меня есть zip-файл, содержащий несколько файлов PDF
- Я хочу объединить файлы PDF с одним, с помощью, например, ghostscript
gs -sDEVICE=pdfwriter -sOutputFile=out.pdf <pdf-files from zip>
Append/concat файлы pdf из zip-файла:
$ > out.pdf; xargs -a <(zipinfo -1 in.zip) -I {} \
sh -c 'mv out.pdf tmp.pdf; unzip -p in.zip "$1" | \
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -o out.pdf tmp.pdf -' _ {}
Используя zip предохранителя:
$ mkdir -p zip && fuse-zip -r in.zip zip && \
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -o out.pdf zip/* && fusermount -u zip