Muss ich rm foo.zip
vor der Ausführung eine neue Zip-Datei erstellen, um wie bei tar eine neue Zip-Datei zu erhalten zip
?
$ mkdir foo; touch foo/bar
$ zip -r foo.zip foo
adding: foo/ (stored 0%)
adding: foo/bar (stored 0%)
$ rm foo/bar; touch foo/baz
$ zip -r foo.zip foo
adding: foo/ (stored 0%)
adding: foo/baz (stored 0%)
$ unzip -l foo.zip
Archive: foo.zip
Length Date Time Name
--------- ---------- ----- ----
0 2011-10-27 07:49 foo/
0 2011-10-27 07:49 foo/bar
0 2011-10-27 07:49 foo/baz
--------- -------
0 3 files
command-line
zip
ein Sari
quelle
quelle
-FS
nicht-F
und-S
zusammen. Das gibt es seit Zip 3.0 zumindest. Überprüfen Sieman zip
.Zip 3.0
und funktioniert nicht fürZip 2.32
(hat keine alten Dateien im Zip-Pack entfernt)-FS -r
, richtig?Eine Alternative zur Verwendung der
-FS
Option (oder zum Löschen der alten ZIP-Datei) und zum buchstäblichen Überschreiben der vorhandenen ZIP-Datei besteht darin,zip
die Ausgabe an stdin zu senden und die Ausgabe in die Datei Ihrer Wahl umzuleiten:Wenn foo.zip vorhanden ist, wird es durch die Shell-Umleitung überschrieben, was bedeutet, dass Sie jedes Mal zu 100% eine neue ZIP-Datei erhalten 🙂
quelle