Para obter um novo arquivo zip assim como o tar, preciso executar rm foo.zip
antes de executar 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
um sari
fonte
fonte
-FS
não é-F
e-S
juntos. Isso está lá desde o zip 3.0, pelo menos. Verifiqueman zip
.Zip 3.0
e não funcionaZip 2.32
(não removeu arquivos antigos em zip pack)Uma alternativa para usar a
-FS
opção (ou excluir o arquivo ZIP antigo) e, literalmente, sobrescrever o arquivo ZIP existente, é solicitarzip
a saída para stdin e redirecionar a saída para o arquivo de sua escolha:Se o foo.zip existir, ele será substituído pelo redirecionamento do shell, o que significa que você obterá um novo arquivo ZIP novo 100% do tempo, todas as vezes.
fonte