アーシの毎日インプット

毎日1つ以上学習する。学習した内容を公開する。を目標に自分のスキルアップを目指します。

grepでヒットした行の前後も合わせて出力する

スポンサードリンク

linuxコマンドの一つgrep

 

特定の文言を含む列を特定するのに優れたコマンドです。

 

ただし、調べたいって、特定の行だけを特定したいときもあれば、その前後の行についても合わせて情報が欲しい時ってありますよね。

 

前後の行の情報を知りたいときって、今まで私は下記のように-nのオプションを使用し、

 

grep -n "検索ワード" abc.txt

 

何行目にその文字列が出てくるかを特定し、その後別のコマンドを使ってその行の前後の行を合わせて見る。

ということをしていました。

 

 

しかし、元から前後の行を見ることができればもっと便利だなと思い、調べてみました。

 

調べてみた結果、AオプションとBオプションを使うと上手くいきました。

 

Aオプションはその右側に数字を記載することにより、検索でヒットした行から何行先の行までを表示するかを、

Bオプションはその右側に数字を記載することにより、検索でヒットした行から何行前の行までを表示するかを指定できます。

 

AがAfter、BがBeforeと思えば覚えやすいです。

 

具体的な実行例は下記です。

 

grep "検索ワード" -A 3 -B 2 abc.txt

 

これで、文字列が一致した行とその前2行・後3行が表示されるようになります。

 

複数回コマンドを実行しなくて済むようになるため、便利に感じました。

【アーシの原点】

【頭を鍛える迷路集】


スポンサードリンク