grep exclude option

grepしたときにいつも.svnの下のファイルがヒットしてイライラしていたので 技術メモ帳 – 意外と知られていないファイル探索方法(grep –include) に従って --exclude で .svn 以下を除外しようとしたけどどう書いてもうまくいかない。どうも最終的に見つかったファイル名の部分だけでしかマッチングしてくれっぽい。

grepのソースをみると fnmatch.c がマッチング処理をしていて、たしかにそんな雰囲気。
メタ文字として ? \ * と、[ ]でのクラス指定に対応してるっぽいのが分かったのだけが収穫。

けっきょく

alias grep="grep --exclude='tags' --exclude='*.svn-*'  --exclude='entries'"

にしようとしたら、まえからこう書いてあって分岐条件がおかしくてaliasされてないだけだった….


About this entry