Reputation: 4097
I have a scenario where I must first create a zip file, and after, when my files arrive from another location, they will be added into the zip.
This second part is done with the -u
parameter:
zip -u {{project}}.zip {{file}}
--help
for this command isn't quite helpful either:
user@host:~# zip --help
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
The default action is to add or replace zipfile entries from list, which
can include the special name - to compress standard input.
If zipfile and list are omitted, zip compresses stdin to stdout.
-f freshen: only changed files -u update: only changed or new files
-d delete entries in zipfile -m move into zipfile (delete OS files)
-r recurse into directories -j junk (don't record) directory names
-0 store only -l convert LF to CR LF (-ll CR LF to LF)
-1 compress faster -9 compress better
-q quiet operation -v verbose operation/print version info
-c add one-line comments -z add zipfile comment
-@ read names from stdin -o make zipfile as old as latest entry
-x exclude the following names -i include only the following names
-F fix zipfile (-FF try harder) -D do not add directory entries
-A adjust self-extracting exe -J junk zipfile prefix (unzipsfx)
-T test zipfile integrity -X eXclude eXtra file attributes
-y store symbolic links as the link instead of the referenced file
-e encrypt -n don't compress these suffixes
-h2 show more help
Upvotes: 7
Views: 4120
Reputation: 40160
I have done it the dirty way:
Created an file called emptyfile
with one byte in it (whitespace).
Then I added that file into the zip file:
zip -q {{project}}.zip emptyfile
To finally remove it:
zip -dq {{project}}.zip emptyfile
(if -q
is omitted, you will get warning: zip warning: zip file empty
)
This way I've got an empty zip file one can -u
pdate.
All that can be converted to a oneliner (idea from GaspardP):
echo | zip -q > {{project}}.zip && zip -dq {{project}}.zip -
Is there a more elegant way to do this?
Upvotes: 7