※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

スポンサーリンク