特定の文言を含む列を特定するのに優れたコマンドです。
ただし、調べたいって、特定の行だけを特定したいときもあれば、その前後の行についても合わせて情報が欲しい時ってありますよね。
前後の行の情報を知りたいときって、今まで私は下記のように-nのオプションを使用し、
grep -n "検索ワード" abc.txt
何行目にその文字列が出てくるかを特定し、その後別のコマンドを使ってその行の前後の行を合わせて見る。
ということをしていました。
しかし、元から前後の行を見ることができればもっと便利だなと思い、調べてみました。
調べてみた結果、AオプションとBオプションを使うと上手くいきました。
Aオプションはその右側に数字を記載することにより、検索でヒットした行から何行先の行までを表示するかを、
Bオプションはその右側に数字を記載することにより、検索でヒットした行から何行前の行までを表示するかを指定できます。
AがAfter、BがBeforeと思えば覚えやすいです。
具体的な実行例は下記です。
grep "検索ワード" -A 3 -B 2 abc.txt
これで、文字列が一致した行とその前2行・後3行が表示されるようになります。
複数回コマンドを実行しなくて済むようになるため、便利に感じました。