子ディレクトリも含めて特定のファイルを見つけて削除する

Tomohiro 29views 更新:2016年12月26日

ターミナル操作で、子ディレクトリのファイルも含めてある条件に当てはまるファイルを見つけ出して何かしたいことがある。ここでは拡張子が.jpgのファイルを探し出して削除するのを例として説明する。

まずは親ディレクトリ上でターミナルを開き、以下のコマンドを入力する。

find ./ -name "*.jpg" -print

すると、瞬時に子ディレクトリも含めて階層下から拡張子が.jpgのファイルを見つけ出してきて一覧が出力される。表示されたファイルを削除したいときは、

find ./ -name "*.jpg" -exec rm {} \;

と少し書き換えると削除される。rm以下のコマンドを任意のものに置き換えれば別の操作も可能である。
execオプションにより検索されたファイル群がrmコマンドに渡されると考える。このオプションにより、その後に書かれたコマンドを実行後終了するようになる。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません