Використовуйте прапор оновлення: -u
Приклад:
zip -ur existing.zip myFolder
Ця команда буде стискати та додавати myFolder
(і це вміст) до existing.zip
.
Розширене використання:
Прапор оновлення фактично порівнює вхідні файли з існуючими і додасть або нові файли, або оновить існуючі.
Тому, якщо ви хочете додати / оновити певний підкаталог всередині zip-файлу, просто оновіть джерело за бажанням, а потім повторно застебніть все джерело з -u
прапором. Лише змінені файли будуть накопичуватися.
Якщо у вас немає доступу до вихідних файлів, ви можете розпакувати Zip-файл, а потім оновити потрібні файли та повторно поштовувати з -u
прапором. Знову лише, що змінені файли будуть зафіксовані.
Приклад:
Структура оригінального джерела
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
Оновлена структура джерела
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
│ │ ├── logs4.txt <-- NEW FILE
Використання
$ zip -ur existing.zip ParentDir
> updating: ParentDir/ChildDir/Logs (stored 0%)
> adding: ParentDir/ChildDir/Logs/logs4.txt (stored 96%)