ZIPMERGE(1)

πŸ“¦
version 1.11.4 Β· 3 versions
, in arch rolling, debian trixie, fedora 43, fedora 44, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– ZIPMERGE(1) πŸ’–

okay bestie, listen β€” this is the zipmerge page from the General Commands Manual, and it's genuinely one of those little tools that just works. it merges zip archives. that's the whole vibe. let's get into it 🫢


✨ NAME ✨

zipmerge β€” merge zip archives πŸ’…


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: zipmerge copies files from the source zip archives source-zip into the target zip archive target-zip. that's it, that's the job. πŸŽ€

by default, files in the source zip archives overwrite existing files with the same name in the target zip archive. no asking, no warning, just main character energy. πŸ’€

also by default: compressed files in the source archive are copied directly without recompression (why waste the effort, they're already cute), while uncompressed files get compressed using the default compression algorithm. ✨

here are the supported options, and yes i'm listing every single one because we don't skip:

πŸ“ OPTIONS πŸ“

  • -D β€” ignore directory components in file name comparisons. lowkey a bit slow tho if your archive has a lot of files. 🐌
  • -h β€” display a short help message and dip out. ✌️
  • -I β€” ignore case in file name comparisons. also slow for archives with many files, so heads up. πŸ™ˆ
  • -i β€” ask before overwriting files. polite behavior honestly. see also -s. πŸ’–
  • -k β€” do not compress files that were uncompressed in source-zip β€” otherwise they get compressed with the default compression method. πŸŽ€
  • -S β€” do not overwrite files that have the same name, size, and CRC32 in both the source and target archives. like, if it's literally identical, leave it alone. πŸ¦‹
  • -s β€” when -i is given, do not ask before overwriting files that have the same name, size, and CRC32. so it still asks for the ones that actually differ. πŸ‘‘
  • -V β€” display version information and exit. slay. 🌈

πŸ’€ EXIT STATUS πŸ’€

zipmerge exits 0 on success, and >1 if an error occurred. note: it's >1, not 1, bestie β€” don't get it twisted. 😭


πŸ”₯ SEE ALSO πŸ”₯


⭐ HISTORY ⭐

zipmerge was added in libzip 0.6. throwback era, honestly. 🧚


πŸ‘‘ AUTHORS πŸ‘‘

Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at> β€” absolute icons, we thank them for their service. πŸ’œ


🚨 CAVEATS 🚨

okay this one matters, so pay attention:

zipmerge uses one open file descriptor per zip archive. so if you're merging a lot of zip archives, do a vibe check on your shell's file descriptor ulimit and either increase it, or just run zipmerge multiple times β€” for example, 1000 source zip archives each time. don't come crying to me when you run out of descriptors. 😭

and that's the whole page, bestie!! this one's from Debian, dated November 7, 2023, and it's the ZIPMERGE(1) manpage β€” go forth and merge responsibly. mwah πŸ’…βœ¨πŸ«Ά

πŸ“¦ where this page comes from