grep
grepはファイル内の文字列について、正規表現で検索しマッチした行を出力するコマンドです。findがファイル名などメタ情報を対象にした検索なのに対して、grepはファイル内の文字列を対象にしています。
なおgrepは「Globally search a Regular Expression and Print」の略となります。「全文を正規表現で検索しプリントする」という意味になります。
grep [パターン] [対象ファイル]
とすると、対象ファイルの中のパターンを含む行のみが表示されます。 ディレクトリの中のファイル全てを検索する場合にはワイルドカードを利用します。
grep abc hogehoge/*
とするとhogehogeディレクトリの中の全てのファイルの中でabcを含む行が表示されます。
grepのオプション
-i
-iオプションをつけると、大文字と小文字を区別せずに検索を行います。
grep -i abc
とするとカレントディレクトリ内のAbcやABCなど大文字を含んだものも含めて検索します。
-l
-lオプションをつけると、検索結果でファイル名のみを表示します。ある文字列を含むファイル名を取得したい時に便利です。
grep -l abc
とすると、カレントディレクトリの中のabcという文字列を含むファイルのファイル名のみが表示されます。
-h
-hオプションをつけると、検索結果でファイル名を表示しません。
grep -h abc
とすると、カレントディレクトリの中のabcという文字列と一致した部分のテキストのみが表示されます。
-r
-rオプションをつけると指定したディレクトリ以下のディレクトリも含めて検索を行います。
grep -r abc
とすると、カレントディレクトリ以下の全てのディレクトリについてabcを含む文字列を検索をします。