Linux: Добавление именованных файлов в zip-архив из канала - PullRequest
3 голосов
/ 07 января 2010

Можно ли использовать что-то вроде:

command.exe | zip >> archive.zip

command2.exe | zip >> archive.zip

... и в итоге получим два именованных файла в одном zip-архиве. Этот способ, если это вообще возможно, будет лучше, чем временные файлы.

Ответы [ 2 ]

2 голосов
/ 07 января 2010

Создайте два именованных канала в новом каталоге (с помощью mkfifo), передайте вывод команд этим двум каналам, а затем заархивируйте каталог.

mkdir tmp
mkfifo tmp/1.out
mkfifo tmp/2.out
command1.exe > tmp/1.out
command2.exe > tmp/2.out
zip -FI -r tmp.zip tmp/

РЕДАКТИРОВАТЬ: Добавлен флаг FI в zip, что делает это возможным. Единственное предостережение в том, что для работы вам нужен zip 3.0. Tar: ing FIFO: s не реализован (согласно tar-разработчикам), потому что вам нужен заранее размер файла, чтобы записать его в заголовок TAR.

2 голосов
/ 07 января 2010

Используйте предохранитель, fuze-zip , скорее.

...