grep : 汎用ファイル・ディレクトリ検索
基本
grep 文字列 ファイル
で, 「ファイル」から「文字列」を検索する
具体的には, ファイル中に「文字列」が含まれる行があればそれらの行を表示する
複数ファイル
grep 文字列 ファイル ファイル ファイル ...
与えられた全てのファイルを検索する
- 例:
$ grep *.c *.h
でカレントディレクトリの全ての .c, .h で終わるファイルを検索する
ディレクトリの再帰的探索
grep -r 文字列 ディレクトリ
「ディレクトリ」下の全てのファイルを検索する
-
ソースコード全体を一網打尽に検索できる強力なコマンドであるが, コンパイルによってできたオブジェクトファイルや実行可能ファイルなども対象にしてしまうので, それを排除するために
-I(バイナリファイルを検索対象から排除するオプション) をつける -
例:
$ grep -rI 文字列 .
はカレントディレクトリ下の, バイナリファイルを除く全てのファイルを検索する
正規表現の検索
- これまでは与えた文字列の完全一致を含む行だけを見つけるものであったが, その代わりに正規表現を用いることも可能 (
-eオプション) - 例えば以下は,
intが行頭に現れる行を, カレントディレクトリ内のバイナリファイルを除く全てのファイルから検索する
$ grep -e '^int' -rI .