ファイル削除後のzipアーカイブの同期

ファイル削除後のzipアーカイブの同期

zipコマンドを使用してくださいzip -qrj dir1/archive.zip dir2/*.jpg

アーカイブからファイルを削除したら、dir2参照を使用してアーカイブを同期したいと思いますdir2。つまり、そのファイルはzipアーカイブからも削除されます。ファイルを追加したり更新するだけで削除しないようです。

試しましたが、zip -qrju dir1/archive.zip dir2/*.jpgファイルは削除されません。

ベストアンサー1

オプション-FS:

-FS --filesync アーカイブの内容をオペレーティングシステムのファイルと同期します。通常、アーカイブを更新すると、新しいファイルが追加され、変更されたファイルは更新されますが、オペレーティングシステムに存在しなくなったファイルはアーカイブから削除されません。このオプションを使用すると、ファイルシステムのアーカイブ内のエントリを確認する新しいモードを使用できます。エントリのファイル時間とファイルサイズがオペレーティングシステムファイルのファイル時間とファイルサイズと一致する場合、そのエントリはファイルシステムから読み取られ、圧縮されるのではなく古いアーカイブからコピーされます。オペレーティングシステムファイルが変更された場合は、通常どおりエントリを読み込んで圧縮します。アーカイブのエントリがオペレーティングシステムのファイルと一致しない場合、エントリは削除されます。このオプションを有効にすると、新しいアーカイブと同じアーカイブが作成されますが、既存のアイテムは圧縮されずにコピーされるため、-FSを使用して既存のアーカイブを更新する方が新しいアーカイブを作成するよりもはるかに高速です。 -uを使用してアーカイブを更新することも検討してください。

zip -qrj -FS dir1/archive.zip dir2/*.jpg

おすすめ記事