Я пытаюсь добавить разархивированные файлы в существующую уже заархивированную папку, скажем new folder.zip
. Можно ли использовать zip -r new folder.zip
после добавления в них несколько разархивированных файлов? Эта команда сожмет папку? Есть ли альтернатива для этого?
33
Ответы:
Используйте флаг обновления:
-u
Пример:
Эта команда сжимает и добавляет
myFolder
(и ее содержимое) вexisting.zip
.Расширенное использование:
Флаг обновления фактически сравнивает входящие файлы с существующими и либо добавляет новые файлы, либо обновляет существующие.
Поэтому, если вы хотите добавить / обновить определенный подкаталог в zip-файле, просто обновите источник по своему усмотрению, а затем повторно заархивируйте весь источник с
-u
флагом. Только измененные файлы будут заархивированы.Если у вас нет доступа к исходным файлам, вы можете разархивировать zip-файл, затем обновить нужные файлы, а затем повторно заархивировать с
-u
флагом. Опять же, только измененные файлы будут заархивированы.Пример:
Исходная структура источника
Обновленная структура источника
использование
источник
Я считаю, что вы можете добавить файлы с помощью этой команды:
zip -r zipfile.zip newfile.txt newfile1.txt
-r
Вариант команды зип позволяет добавлять файлы.источник
-r
это рекурсивный вариант.-r
Может использоваться при добавлении каталогов или при отсутствии добавления каталогов. В любое время, когда вы не хотите просто добавлять каталог и без содержимого, так что почти все время Короче говоря, пример верный, но объяснение неверное.) (Лучше всего проверить это, это только моя интерпретация руководства).Флаг -u работает для файлов
С уважением
источник
Я с успехом использовал
zip
команду. с опцией grow (-g), чтобы добавить подпапку,folder1/folder2
содержащую файлыfileA.txt
иfileB.txt
:-r
означает recurse dir.Из моего понимания -g должен расти zip-файлы, а не создавать новый zip-файл (это может быть полезно при очень больших zip-архивах). В случае проблем вы можете сначала попытаться создать подпапки в папке .zip с помощью (например):
источник
Если у вас есть много файлов в одном месте с вашим zip-архивом, и вы хотите скопировать их все в архив, вы можете сделать:
Это обновляет ваш zip-файл (
-u
опция) рекурсивно (-r
опция) со всеми найденными файлами, кроме самого zip-файла (!
это отрицание zip-файла )Затем вы можете просто удалить все файлы, кроме zip-файла, следуя тому же правилу:
источник