findとxargsの組み合わせ
http://hirkaz.blogspot.com/2008/09/blog-post_01.html
こういうのを見るとどうしても
$ find ~/dev/php -name '*.php' -a -print0 | xargs -0 nkf --overwrite -w -Lu
と書き直したくなる。元のままだとスペースを含んだファイル名を扱えないからね。
一応説明しておくと、元のコードでは"foo bar.php"というファイルがあった場合、xargsが"foo"と"bar.php"を処理しようとしてエラーになってしまう。
そこで、findで-print0を使うと"\0"区切りで出力してくれて、xargsに-0を指定すると引数を"\0"区切りとして扱ってくれるので"foo bar.php"として処理してくれる。
ファイル名にスペース入れるなっていう話もあるけど、Windowsな人はよく作るよね。あとAdobeとか。
(あれ。トラックバック打てねぇや)
ちなみに-print0の前の-a(AND)は省略できるよ。