※MACターミナル(BSD系)での動作確認です。
スポンサーリンク
grepの-Cオプションで検索にマッチした前後の行を出力
-Cオプションで前後の行数を指定
grepに-Cオプション付けることで、検索にマッチした前後の表示行数を指定することができます。
例えば、下記のin.txtがあったとします。
$ cat in.txt str001 str002 target003 str004 str005 str006
"targe"で検索して、マッチした前後2行を表示する場合は、下記のように実行します。
$ grep -C 2 "target" in.txt
下記が実行結果になります。マッチした前後2行が同時に表示されているのが確認できます。
$ grep -C 2 "target" in.txt str001 str002 target003 str004 str005
スポンサーリンク
-Aオプションと-Bオプションでも、-Cオプションと同様のことができる
-Aオプションと-Bオプションを組み合わせることで、-Cオプションと同様のことができます。
参考:-Bオプション:grepで検索された直前の行も合わせて表示する
参考:-Aオプション:grep実行時に検索された直後の行も同時に表示する方法
同様に、"targe"で検索して、マッチした前後2行を表示する場合は、下記のように実行します。
$ grep -A 2 -B 2 "target" in.txt
下記が実行結果になります。上記の-Cオプションで指定したときと、同様の結果が確認できます。
in.txtは上記と同じファイルになります。
$ grep -A 2 -B 2 "target" in.txt str001 str002 target003 str004 str005
スポンサーリンク