Usa il flag di aggiornamento: -u
Esempio:
zip -ur existing.zip myFolder
Questo comando comprime e aggiunge myFolder
(ed è contenuto) a existing.zip
.
Uso avanzato:
Il flag di aggiornamento confronta effettivamente i file in arrivo con quelli esistenti e aggiungerà nuovi file o aggiornerà quelli esistenti.
Pertanto, se si desidera aggiungere / aggiornare una sottodirectory specifica all'interno del file zip, aggiornare semplicemente l'origine come desiderato, quindi comprimere nuovamente l'intera origine con il -u
flag. Solo i file modificati verranno compressi.
Se non si ha accesso ai file di origine, è possibile decomprimere il file zip, quindi aggiornare i file desiderati e quindi ri-zip con il -u
flag. Ancora una volta, verranno compressi solo i file modificati.
Esempio:
Struttura della fonte originale
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
Struttura sorgente aggiornata
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
│ │ ├── logs4.txt <-- NEW FILE
uso
$ zip -ur existing.zip ParentDir
> updating: ParentDir/ChildDir/Logs (stored 0%)
> adding: ParentDir/ChildDir/Logs/logs4.txt (stored 96%)