Sometimes, you have a zip file with some files in it, and you need to update a file within the zip file. Let’s take an example:
unzip -l patch_1280_v2.zip Archive: patch_1152_v2.zip Length Date Time Name --------- ---------- ----- ---- 0 2019-01-15 19:45 width_1152/ 162320 2019-01-15 19:27 width_1152/page611.png 209867 2019-01-15 19:27 width_1152/page594.png 0 2019-01-15 19:26 width_1152/.v2 --------- ------- 372187 4 files
So let’s suppose I want to add a database in a
databases folder within this zip. To make things interesting, let’s assume we have multiple patch zip files, in which we want to add the same database folder and files for each.
zip makes this easy - we can just do:
zip -u patch_1152_v2.zip databases/file_to_add_or_update.db # if we're adding multiple files, can also do # this to add the README.md file and # everything under databases/ zip -u patch_1152_v2.zip databases/* README.md
This will add this file under the
databases folder within the zip. If it already exists, it will be updated. We can combine this with shell for loops to update a large number of zip files painlessly!