Use el indicador de actualización: -u
Ejemplo:
zip -ur existing.zip myFolder
Este comando comprimirá y agregará myFolder(y su contenido) al existing.zip.
Uso avanzado:
El indicador de actualización en realidad compara los archivos entrantes con los existentes y agregará nuevos archivos o actualizará los existentes.
Por lo tanto, si desea agregar / actualizar un subdirectorio específico dentro del archivo zip, simplemente actualice la fuente como desee y luego vuelva a comprimir toda la fuente con el -uindicador. Solo se comprimirán los archivos modificados.
Si no tiene acceso a los archivos de origen, puede descomprimir el archivo zip, luego actualizar los archivos deseados y luego volver a comprimirlos con la -ubandera. Nuevamente, solo los archivos modificados se comprimirán.
Ejemplo:
Estructura original de la fuente
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
Estructura de fuente actualizada
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%)