気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

grepで検索した行の前後も表示する方法

grepで対象文字列が存在する行を表示

$ grep -n test1 test.conf
4:      test1 ←-nオプションを付けたので、4行目に該当する文字列があることが分かる

grepで対象文字列が存在する前後の行を表示

logの調査をする際にgrep実行前後の行も確認したい場合があるその場合は以下のようなコマンドが使える。

$ grep -3 -n test1 test.conf
1-[global]
2-      test
3-      test
4:      test1 ←-3オプションによって、前後各3行も表示される
5-      test
6-      test
7-      test

grepで対象文字列が存在する前、または後の行を表示

また、該当する行の後の行だけを表示したり、前の行だけを表示することもできる。後の行を表示するには-Aオプション、前の行を表示するには-Bオプションを使用し、併せて表示したい行数を指定する。

$ grep -A 3 -n test1 test.conf ←該当する行の後の3行を表示する
4:      test1 ←-3オプションによって、前後各3行も表示される
5-      test
6-      test
6-      test
$ grep -B 3 -n test1 test.conf ←該当する行の前の3行を表示する
1-[global]
2-      test
3-      test
4:      test1 ←-3オプションによって、前後各3行も表示される

参考URL

grepで該当する行の前後も一緒に表示するには