今号では、grep コマンドの使い方やオプションについてご紹介します!
grep コマンドとは
grep コマンドは、ファイルの内容から特定の文字列を検索する事ができるコマンドです。
find コマンドと似ていますが、大きな違いとしてはファイル内の文字列を検索できる点になります。
基本の書式
“grep ファイル名” コマンドを実行すると、指定したファイルの中から文字列を検索します。
例えば、test.txt というファイルから abc という文字列を検索する場合、以下のようになります。
$ cat test.txt abc def ghi abcdefghi $ grep abc test.txt abc abcdefghi
grep コマンドでは検索結果を行単位で表示するため、検索結果は abc が含まれる行 abc と abcdefghi が該当します。
grep コマンドのオプション
次に、grep コマンドで使用可能なオプションをご紹介します。
オプションには多くの種類がありますが、よく使用されると考えられるものを抜粋してご紹介します。
- 複数の文字列で検索する (or 検索)
-e オプションを指定すると、検索したい文字列を複数指定できます (-e オプション 1つにつき、1つの文字列)。
例えば、test.txt から ab または bc の、いずれかの文字を含む行を検索する場合、以下のようになります。
$ grep -e ab -e bc test.txt abc abcdefghi
なお、and 検索したい場合は | (パイプ) を使用し、ひとつめの grep コマンドの結果を次の grep コマンドへ渡すようにします。
$ grep abc test.txt | grep def abcdefghi
- 検索結果に行番号を表示する
-n オプションを指定すると、検索結果に加えて行番号を表示します。
例えば、test.txt から abc という文字列を検索した場合、検索結果の左側に該当する文字列の行番号 (今回の場合ですと 1と 4) が表示されます。
$ grep -n abc test.txt 1:abc 4:abcdefghi
- 一致しないものを検索する
-v オプションを指定すると、条件に一致しない行のみを表示します。
例えば、test.txt から -v オプション付きで abc という文字列を検索する場合、以下のように abc 以外の文字列を含む行のみが表示されます。$ grep -v abc test.txt def ghi