ちょっとしたメモ。
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の関数の書き方をもっと調べてみよう。
function kws { find . -type f -print0 | xargs -0 grep $1 }