grep : カレントディレクトリ以下で、ある単語を含むファイルをリストする
grepの基本構文は以下のよう。
grep [OPTIONS] PATTERN [FILE...]
カレントディレクトリ以下で、Hoge,hoge を含むファイルをリストする。バイナリファイルは無視したい。後 Capfile というファイルも無視。
$ grep -Er --files-with-matches --binary-files=without-match --exclude=Capfile '(H|h)oge' .
-E, --extended-regexp
パターン指定に extended-regexp を使う。デフォルトは basic-regexp。表現能力は同じだが、basic-regexpの場合、特殊文字を仕様する場合エスケープが必要(e.g. \( \) \| \+ とか)。面倒くさいので。
-l, --files-with-matches
一致した行を出力する代わりに、一つでもマッチがあるファイルのファイル名を出力する。
-l, == --binary-files=without-match
バイナリファイルは検索をせず、マッチしなかったとみなす。
--exclude=GLOB
GLOBに一致するファイルを検索対象からはずす。