ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

grepで該当した行の前後を表示する方法

    この記事は約3分で読むことができます。

概要

grepでログファイルなどを調べた場合、該当した(パターンマッチした)行だけはなく該当した行の前後や、該当した行の前5行とか、該当した行の前5行とか表示したい場合があります。

その場合は、grepコマンドのオプションの「-A」・「-B」・「-C」を使います。

  • 該当した行の後を表示する場合は、「-A」
  • 該当した行の前を表示する場合は、「-B」
  • 該当した行の前後を表示する場合は、「-C」

コマンド

実際に、grepコマンドの「-A」・「-B」・「-C」オプションを使用した例で説明します。説明で使用するファイルは、以下のような /etc/groupを加工したファイルを利用します

 

grep -A (該当した行の後◯行を表示)

検索するファイル内に検索する文字列が該当した場合、該当した行と後の◯行を出力します
grep -A 【行数】検索文字列 【検索するファイル名】

キーワードが「sys」で該当した行の後2行を表示する(-A 2)と、該当した行の後5行を表示する(-A 5)を使用した場合のサンプルです

grep -B (該当した行の前◯行を表示)

検索するファイル内に検索する文字列が該当した場合、該当した行と前の◯行を出力します
grep -B 【行数】検索文字列 【検索するファイル名】

キーワードが「ftp」で該当した行の前2行を表示する(-A 2)と、該当した行の前5行を表示する(-A 5)を使用した場合のサンプルです

grep -C (該当した行の前後◯行を表示)

検索するファイル内に検索する文字列が該当した場合、該当した行と前後の◯行を出力します
grep -C 【行数】検索文字列 【検索するファイル名】

該当した行キーワードが「mail」で該当した行の前後2行を表示する(-A 2)と、該当した行の前後5行を表示する(-A 5)を使用した場合のサンプルです

grep -A -B (該当した行の前◯行、後◯行を表示)

-Aと-Bを組み合わせ使用した場合は、検索するファイル内に検索する文字列が該当した場合、該当した行と前の◯行、後の◯行を出力できます
grep -A 【行数】-B 【行数】検索文字列 【検索するファイル名】

該当した行キーワードが「game」で該当した行の後2行(-A 2)と前の5行(-B 5)を表示する場合のサンプルです

 



 - Linux , ,