Linux findコマンドを使って複数ファイルを解凍する方法

更新:2019.3.12

あるディレクトリ下にある圧縮ファイルを1コマンドで解凍する方法を紹介します。

イメージとしては、次のようなディレクトリ構成で、1つのディレクトリに1つの圧縮ファイルが置かれている状況です。

dirx
├── dir1
|   └── file.gz
├── dir2
|   └── file.gz
├── dir3
|   └── file.gz
└── dir4
    └── file.gz

各ディレクトリ移動して解凍コマンドを実行するのは、たいへんすぎますね。

dirxディレクトリで次のコマンドを実行すると、すべてのfile.gzファイル解凍できます。

find ./ -type f -name "*.gz" -exec gzip -d {} \;

tar.gzの場合は、次のようにコマンドを修正することで同様に解凍できます。

find ./ -type f -name "*.tar.gz" -exec tar -zxvf {} \;

拡張子の部分を変更すれば、各種圧縮ファイルにも対応できます。

過去のログファイルなどを調査するときなどに使えるテクニックです。

Linux関連記事

Linux tips
2008/05/24









これからブログなどのサイトを作りたいと思っている人は、お名前.comでのドメイン取得がオススメです。

■□━━ 急げ、ドメインは早い者勝ち! ━━□■
     ■お名前.com

アマゾンの2019年本屋大賞一覧

そして、バトンは渡された
ひと
ベルリンは晴れているか
熱帯
ある男

楽天市場のおすすめ商品一覧

お金2.0 新しい経済のルールと生き方 [ 佐藤航陽 ]
全部レンチン!やせるおかず 作りおき 時短、手間なし、失敗なし
「読む力」と「地頭力」がいっきに身につく 東大読書 [ 西岡 壱誠 ]