findのexecが便利

あるディレクトリ配下の全ての.svn達を消し去ろうとしてたんですが、わざわざスクリプト書くのも何だかなぁ。と思っていたらfindに-execというオプションが有るのをはずかしながら初めて知りました。

マニュアル

-exec command ;
    command を実行する。コマンドの戻り値が 0 ならば真。
    find のコマンドラインで指定されたこれ以降の引き数は、 `;' を含む引き数にいたるまで、すべてcommand の引き数とみなされる。
    文字列 `{}' は現在処理しているファイル名に置き換えられる。
    これは command 引き数のどこにあってもよく、単独で置かれていなくてもよい (単独で置かれていなければならないような find もある)。
    これらの文字はシェルによって展開されないよう、 `\' によってエスケープするか引用符で囲む必要がある。
    コマンドは find を実行したディレクトリから実行される。

との事で『{}』がマッチしたパスへと変換されますんで↓でめでたく全部消えました。色々と応用できそうですな。

find ./ -name ".svn" -exec rm -rf {} \;