2013-04-13 5 views
1

Допустим, у нас есть почтовый файл содержит каталог с именем aq и в текущем рабочем каталоге есть файлы:добавить файлы в specafic каталог внутри архива

./ 
|- aq/a.txt 
|- b.txt 

Когда я использую эту команду: zip test.zip aq/* в a.txt файл будет промелькнул в каталог aq, который находится внутри архива

вопрос заключается в том, как тогда я могу добавить b.txt в каталог aq, который находится внутри файла test.zip, не подвергая b.txt в каталоге aq, который находится в текущем рабочем каталоге, как то, что я сделал с a.txt?

ответ

0

Сделайте временную директорию, называемую, например. /tmp/$$/aq/, симлинки в временный каталог, а затем сделать:

(cd /tmp/$$ && zip -r $ZIPDEST aq/) 

т.е. ZiP используя временную реж. zip по умолчанию следует символическим ссылкам, поэтому он помещает файл в zip без копирования.

Это как раз то, как я строю сложные иерархические zip-файлы без копирования всего, чтобы сделать архив.

У Tar есть лучшие варианты для переименования предметов, поскольку вы помещаете их в архив, но вы спрашивали про zip.

Смежные вопросы