.DS_Storeや.gitなどをfindコマンドで一括削除する

すっかり暖かくなりました。もうすぐ5月ですもんね。
昼夜の寒暖差のせいで、外出時の服装が悩ましかったですが、そろそろコートもお役御免ですかね。

さて、今日はfindコマンドを使った処理に関してです。
findコマンドを使って、不要なファイルやディレクトリを削除してみます!
ディレクトリ配下の整理やプロジェクトのパッケージングする時などに使ったりします。

例えば、プレジェクトディレクトリ配下にある.DS_Storeを一括削除する場合

find 対象となるディレクトリ -name ".DS_Store" -exec rm -fr {} \;

他にも.svnや.gitなども実際のリリースビルドの際は不要になりますよね。

find 対象となるディレクトリ -name ".svn" -exec rm -fr {} \;
find 対象となるディレクトリ -name ".git" -exec rm -fr {} \;

と、まぁ、こんな感じです。

簡単に内容説明しますと、
対象となるディレクトリは、ディレクトリのパスや、.でカレントディレクトリ。
-nameで検索対象としているファイルやディレクトリを指定。
検索結果に対して、findのオプション-execで実際の処理を実行させます。
それが、rm -fr。
rmは削除コマンド。オプションのfは、エラー通知なし、rは、ディレクトリの削除対象指定。
さらに、{}で結果の引数展開。rmの対象にfindの結果を展開します。
最後の \;は、コマンドの終端文字;を\でエスケープしてます。

さぁて、もうすぐゴールデンウィーク!
特に遠出などの予定はありませんが、何となくウキウキしますね。ま、そんな風に思ってるうちに終わっちゃうんでしょうが。。w
ということで、お疲れ様でしたー!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です