grepコマンドでファイル内を探そう

grepコマンドとは

grepコマンドとは、ファイルの中身を探すコマンドです。
ITエンジニアにとって、LinuxでもWindowsでもほぼ必須のコマンドとなる。
アプリのこの設定値を探したり、ログを調査したりするのによく使います。

grepコマンドの使い方

grepコマンドは、以下のように記載します。

$ grep [オプション] [検索文字列] 検索対象ファイル

実際に使う場合は、こんな感じ

$ grep error app.log → app.logの中の「error」文字列を検索

$ grep -B 3 app.log → app.logの中の「error」文字列と前の3行を検索
$ grep -A 3 app.log → app.logの中の「error」文字列と後ろの3行を検索
$ grep -3 app.log → app.logの中の「error」文字列と前後の3行を検索

-vオプションを使うと、ログ監視が楽になります。
$ tailf app.log | grep -v info → app.logを監視しながら、「info」を含む行は表示しない。

grepコマンドのオプション

よく使うオプションは以下の通り
全部見たい場合は、man grepコマンドで確認しましょう

オプション説明
-B [行数]マッチした行と-Bで指定した前の[行数]も表示する
※xxxとキーとして検索して、その前の行に表示されるログなどを検索するのに便利
-A [行数]マッチした行と-Aで指定した後ろの[行数]も表示する
※xxxとキーとして検索して、その後ろの行に表示されるログなどを検索するのに便利
-[行数]マッチした行と-[行数]で指定した前後の[行数]も表示する
※xxxとキーとして検索して、その前後の行に表示されるログなどを検索するのに便利
-v-vで指定した文字列を表示しない場合に使用する。
tail -f xxx.log | grep -v yyy
  → xxx.logを監視しながら、「yyy」が含まれる行を表示しないようにすることが出来る。