lgrepコマンドで再帰的に日本語をファイル検索する

lgrepコマンドをご存知でしょうか。日本語対応ページャlvの付属品で、対象ファイルの文字コードを推定して日本語文字列をうまく見つけてくれるという、優れもののgrepです。

古いプロジェクトだと、プログラムはEUCだけど静的ファイルはSJIS、なんてことがあると思います。そんなときに大活躍です。

grepした結果の文字コード変換も勝手にやってくれるので、grep結果をnkfする必要もありません。至れり尽くせりですね。

そんなlgrepコマンドにも弱点があります。grepで言う-r(再帰的にファイルを検索)オプションが無いのです。どこに書いてあるかわからないエラーメッセージを探す、なんてときに-rは必須ですよね。無いなら作ってしまえ、ということで作ってみました。

alias lgrep-r="find . -type d -name .svn -prune -o -type f -print | xargs lgrep"

上記を.bashrcなり.zshrcなりに書けばlgrep-rコマンド(というかエイリアス)の出来上がりです。私は普段の便利さのために.svnディレクトリを無視するようにしてみましたが、環境に合わせて工夫してみてください。

思いつきで作ったんですが、これは便利!最近UTF-8のプロジェクトオンリーの恵まれた人はともかく、そうでない人にはオススメですよ。

コメント / トラックバックはありません

コメントする