grepを実行し、一致の前後にx行数を表示する方法

grepを実行し、一致の前後にx行数を表示する方法

grep正規表現に一致する行だけが返されます。通常、私が実際に見たいのは、一致する行の上下の数行です(例:2行)。これを達成する簡単な方法はありますか?

編集者:オペレーティングシステム:UbuntuベースのBodhi Linux。コメントで述べたように、-Cは通常のバージョンでは動作しませんが、私の場合はGNU grepでした。

ベストアンサー1

からman grep

コンテキストライン制御

-A NUM, --after-context=NUM

行を一致させた後、NUM行末尾のコンテキストを印刷します。連続して一致するグループ間にグループ区切り記号(--)を含む行を配置します。 -o または --only-matching オプションを使用すると効果がなく、警告が表示されます。

-B NUM, --before-context=NUM

行を一致させる前にNUM行先行コンテキストを印刷します。連続して一致するグループ間にグループ区切り記号(--)を含む行を配置します。 -o または --only-matching オプションを使用すると効果がなく、警告が表示されます。

-C NUM, -NUM, --context=NUM

NUM行の出力コンテキストを印刷します。連続して一致するグループ間にグループ区切り記号(--)を含む行を配置します。 -o または --only-matching オプションを使用すると効果がなく、警告が表示されます。

それがどれくらい簡単なのか見てください。 manあなたの友達です。

おすすめ記事