ack かわいいよ ack
Unix でコマンドラインでソースコードから特定文字列を検索する場合、僕は以下のように行なっている。
find . -name \( -name "*.c" -o -name "*.cpp" -o -name "*.h" \) | xargs grep hoge
ただこれ、すごい長くて打つのが面倒。
そこで使用したいのが ack コマンド。
ack hoge -G "\.(c|cpp|h)$"
これだけ。
find + grep のようなキメ細かさはないけど、常用ではとにかく適当に探し当てたい場合は便利。ハイライトもしてくれる。バージョン管理フォルダ(.svn とか .git とか CVS とか)を除外してくれるのがナイス。要するにプログラマ向けですな。
ack は Perl スクリプトで CPAN からインストールする。
sudo cpan App:Ack
もしかすると aptitude とか yum とかでもいけるかも。
僕はファイルを探したいと思ったら、既に find を打ち込んでしまっているぐらい find + grep に慣れてしまっているんだけど、やっぱり長いので疲れるから、ack も併用するようにしようと思ってブログに宣言。
以下、参考になるサイト様。