grepで別の文字コードを検索したいけどnkfがなくphpは使える時

UTF-8とシフトJISなどが混在するファイル群を日本語キーワードでgrepする時、
普通だと文字コード1つしか探せない。

$ grep -r キーワード .

例えば端末シェル環境がUTF-8ならUTF-8のファイルしか探せない。
もしシフトJISのファイルにおなじキーワードがあっても見逃してしまう危ない。

あ、そうだシフトJISも探さないと! ということでnkfコマンドを使う方法があるみたい。ヨシ!

$ grep -r `echo "キーワード" | nkf -s` .

だがnkfコマンドがなかった・・・

-bash: nkf: command not found

そんな時、phpが使えるなら代替できる。端末がUTF-8で、シフトJISのキーワードを探す時。

$ grep -r `php -r 'echo mb_convert_encoding("キーワード","cp932","utf-8");'` .

出力が読めるようにUTF-8に変換するならさらにパイプでつなげて。

$ grep -r `php -r 'echo mb_convert_encoding("キーワード","cp932","utf-8");'` . | php -R 'echo mb_convert_encoding($argn, "utf-8", "cp932")."\n";'

もっと簡単に書けたり文字コード自動判定してくれるコマンドラインとかあるといいのになぁ・・