キーワード検索

ちょっとしたメモ。

cscopeやglobalを使うまでもないけど、ソースコードである文字列を鍵に検索することがよくある。
たとえばHOGEを含むファイルの一覧が欲しいときはこんな感じで

% find . -type f -print0 | xargs -0 grep HOGE | sed -e 's/:.*//' | sort | uniq

これを面倒なので関数にしてみた。 $(HOME)/.zshrc.mineに追加。

function kws() {
        find . -type f -print0 | xargs -0 grep $1 | sed -e 's/:.*//' | sort | uniq
}

これで

% kws HOGE

で同じ結果が得られる。

ディレクトリ指定したりsed以降の処理をさせないような分岐が欲しくなった。zshの関数の書き方をもっと調べてみよう。

[追記]
bashならこう

function kws {
        find . -type f -print0 | xargs -0 grep $1
}