-u で zip 内のファイルを更新する

-u で zip 内のファイルを更新する

デスクトップに data.zip という zip ファイルがあります。test.zip の中には res という別のフォルダーがあり、res の中には info.txt というファイルがあります。以前、zip -u コマンドを使用して zip 内のファイルを移動しましたが、zip のルートにしか移動できませんでした。デスクトップから新しいバージョンの info.txt を data.zip の res フォルダーに移動したいのですが、作業中のスクリプトの一部に必要なためです。どうすればいいですか。それとも -u 関数はルートにしか機能しないのでしょうか。これを実現する方法について助言をいただければ幸いです。

答え1

オプション-jzip のルートをターゲットにする場合は、サブディレクトリをターゲットにするには、現在のディレクトリからファイルへの相対パスが zip ファイル内の相対パスと一致するように配置する必要があります。次のようになります。

mkdir res
cp $DESKTOP/info.txt res
zip -u data.zip res/info.txt
rm -rf res

関連情報