Linux unzipコマンド:強制的に上書きするオプション?


173

ZIPファイルを既存のファイル階層に解凍し、一部のファイルを上書きする可能性があるシェルスクリプトを作成しています。

問題は、unzipコマンドが確認を求めることです。
replace jsp/extension/add-aspect.jsp? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

unzipでファイルを上書きするオプションはありますか?

回答:


266

http://www.manpagez.com/man/1/unzip/によると、-oファイルを上書きするオプションを使用できます。

unzip -o /path/to/archive.zip

-oほとんどunzipのオプションと同様、アーカイブ名のに移動する必要があること注意してください。


1
例:unzip -o ZIP_PATH、修飾子として機能します。
bonzofenix 14

10
-oオプションは、他の引数の前に使用する必要があります。例:unzip -o /path/to/archive.zip -d /destination_dir
FelikZ

1
@FelikZ詳細をありがとう、答えにあなたの(削除された)例を追加しました
-foraidt

これはAzure Webサイト(Windows)では機能しません。
ロレトパリシ

@loretoparisi何のことを言ってるの?これはLinuxの質問です。Expand-Archiveのようなものをお探しですか?
フランクリンゆう

31

新しいファイルのみを置き換えるために解凍する必要がある場合は、次を使用できます。

unzip -f archieve.zip

ただし、今後の参照のために、単に入力することができます

unzip 

このパッケージの引数のリストを取得します。この場合の引数は次のとおりです。

-f  freshen existing files, create none
-n  never overwrite existing files         
-q  quiet mode (-qq => quieter)
-o  overwrite files WITHOUT prompting    

ニーズに合ったものを使用してください。


6
+1、私は「ここにコンテキストのためのrtfmの方法がありますが、ここにmの関連セクションがあります」アプローチのより繊細で友好的なバージョンが好きです。
ネイサンバサニーズ

1
また、ヘルプを見ましたが、差分を理解していませんでした。-u update files, create if necessary-f freshen existing files, create none🤷‍♂️ との間?
-juanmirocks

//、ファイルが存在しない場合の動作の違い
ネイサンバサニーズ

@juanmirocks -fを使用すると、新しいファイルは宛先にない場合でもまったく抽出されません(以前のunzipで作成されなかったファイルを含む新しいバージョンのzipが作成された場合など)。あなたがそれを望んでいることをまだ知らないなら、たぶんあなたはそうしないでしょう。反対に、-uは、宛先にない追加ファイルを抽出し、zip内の宛先に何も欠落していないことを確認します。
ポイキロス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.