zipmerge

zipmerge
merge zip archives

zipmerge [-DhIiSsV] target-zip source-zip [source-zip ...]

zipmerge copies files from the source zip archives source-zip to the target zip archive target-zip. By default, files in the source zip archives overwrite existing files of the same name in the target zip archive. By default, compressed files in the source archive are copied directly without recompression, uncompressed files are compressed using the default compression algorithm.

Supported options:

Ignore directory components in file name comparisons. This option is slow for archives with many files.
Display a short help message and exit.
Ignore case in file name comparisons This option is slow for archives with many files.
Ask before overwriting files. See also -s.
Do not compress files that were uncompressed in source-zip, otherwise they are compressed with the default compression method.
Do not overwrite files that have the same name, size, and CRC32 in both the source and target archives.
When -i is given, do not ask before overwriting files that have the same name, size, and CRC32.
Display version information and exit.

zipmerge exits 0 on success and >1 if an error occurred.

zipcmp(1), ziptool(1), libzip(3)

zipmerge was added in libzip 0.6.

Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at>

zipmerge uses one open file descriptor per zip archive. If you need to merge a lot of zip archives, check your shell's file descriptor ulimit and either increase it or run zipmerge multiple times with e.g. 1000 source zip archives each time.