Grep の時、前後の行を一緒に出力する方法
という記事を書こうと思っていたら、つい数日前に「小粋空間」さんでドンピシャな記事を書かれていた。
ほぼ引用みたいになるけど書いておく。
Linux の Grep コマンドのオプションに -B
・-A
・-C
というものがあり、これらで設定可能。ちなみにこれらのオプションは GitBash や Msys、Cygwin などでも使えるので、Windows 環境でも利用可能。
# マッチした行の手前3行を一緒に出力する
grep -B 3 SomeText *.txt
# マッチした行の後ろ3行を一緒に出力する
grep -A 3 SomeText *.txt
# マッチした行の前後3行ずつを一緒に出力する
grep -C 3 SomeText *.txt
# マッチした行の手前2行・後ろ4行を一緒に出力する
grep -B 2 -A 4 SomeText *.txt
それぞれのオプションを省略しないで書くには以下のとおり。
-B (数字)
=--before-context=(数字)
-A (数字)
=--after-context=(数字)
-C (数字)
=--context=(数字)