unzipで複数の圧縮ファイルを一括解凍するには?
一括解凍をするためには、ワイルドカードであるアスタリスクを用い、*.zipをシングルクォーテーション(’)で括れば良い。
$ unzip ‘*.zip’
目次
unzipコマンドとは
zip形式のファイルはディレクトリあるいは複数ファイルを圧縮する際に使用される圧縮形式で拡張子は「.zip」になる。zip (圧縮) ファイルは、圧縮されていないファイルに比べて使用する記憶域が少なくて済み、他のコンピューターへの転送時間も短くなる。複数のファイルをまとめて 1 つのzipフォルダーに格納すると、ファイルを簡単に共有することができる。「unzip」コマンドは
zip形式で圧縮されたアーカイブを展開するときに使用するLinuxコマンドである。
書式
$ unzip [オプション][対象とするzipファイル]
unzipコマンドのオプション
unzipコマンドにおいて良く用いるオプションに以下のようなものがある。
-c | 標準出力に展開結果を表示する。 |
-d | 指定ディレクトリにファイルを展開する。 |
-l | アーカイブの中身を表示する。 |
-n | 既在のファイルを上書きしない |
-o | 確認なしに既存のファイルに上書きする |
-p | 展開結果をパイプ(|)に渡す。 |
-t | アーカイブの展開テストをする。 |
-u | ファイルを更新し、必要なら新しいファイルを作成する |
-v | アーカイブの中身とその詳細について表示する。 |
-z | アーカイブのコメントを表示する。 |
使用例
$ unzip test.zip
指定ディレクトリ(オプション -d)dirにアーカイブ test.zipを展開する。
$ unzip -d dir test.zip
アーカイブ test.zipの中身を表示(オプション -l)する。
$ unzip -l test.zip
複数のzipファイルを一括して解凍するには?
解凍したいzipファイルが複数ある場合に、纏めてzipファイルを解凍する場合には、任意の長さの文字列を表すワイルドカードであるアスタリスク(*)を用い、
$ unzip *.zip
と考えがちですが、実行した場合には下記のエラーがでて一括解凍することができない。
caution: filename not matched: hove.zip
一括解凍をするためには、*.zipをシングルクォーテーション(’)で括れば良い。
$ unzip ‘*.zip’