Linux環境のgrepコマンドで、一致した行に加えて前後の行も取得する方法を解説します。
はじめに
grepコマンドで、条件に一致した行と合わせて、前後の行も取得する方法を説明します。
ここでは、以下の3パターンの取得方法を説明したいと思います。
- 条件に一致した行 + 一致した行の前の行
- 条件に一致した行 + 一致した行の後ろの行
- 条件に一致した行 + 一致した行の前後の行
ここでは、分かりやすいように以下のテキストを使用します。
ファイル名は「file1.log」としました。
ABCDE FGHIJ KLMNO PQRST UVWXY
一致した行+前の行を取得する
grepコマンドの条件に一致した行と、その前の行を取得する方法を説明します。
まずは書式です。
実行例です。以下の場合は、行数を「1」と指定しているので、条件に一致する行(条件に指定した文字列「LMN」を含む行)と前の1行が取得されます。
[root@STKPUB002 data]# grep -B 1 LMN file1.log
FGHIJ
KLMNO
以下の場合は、行数を「2」と指定しているので、条件に一致する行(条件に指定した文字列「LMN」を含む行)と前の2行が取得されていることが分かります。
[root@STKPUB002 data]# grep -B 2 LMN file1.log
ABCDE
FGHIJ
KLMNO
一致した行+後ろの行を取得する
grepコマンドの条件に一致した行と、その後ろの行を取得する方法を説明します。
まずは書式です。
実行例です。以下の場合は、行数を「1」と指定しているので、条件に一致する行(条件に指定した文字列「LMN」を含む行)と後ろの1行が取得されます。
[root@STKPUB002 data]# grep -A 1 LMN file1.log
KLMNO
PQRST
実行例です。以下の場合は、行数を「2」と指定しているので、条件に一致する行(条件に指定した文字列「LMN」を含む行)と後ろの2行が取得されます。
[root@STKPUB002 data]# grep -A 2 LMN file1.log
KLMNO
PQRST
UVWXY
一致した行+前後の行を取得する
grepコマンドの条件に一致した行と、その前後の行を取得する方法を説明します。
まずは書式です。
実行例です。以下の場合は、行数を「1」と指定しているので、条件に一致する行(条件に指定した文字列「LMN」を含む行)と前後の1行が取得されます。
[root@STKPUB002 data]# grep -C 1 LMN file1.log
FGHIJ
KLMNO
PQRST
実行例です。以下の場合は、行数を「2」と指定しているので、条件に一致する行(条件に指定した文字列「LMN」を含む行)と前後の2行が取得されます。
[root@STKPUB002 data]# grep -C 2 LMN file1.log
ABCDE
FGHIJ
KLMNO
PQRST
UVWXY
リンク
コメント