web-dev-qa-db-ja.com

grepでtail -fを使用して周囲の行を表示する方法

logfileの出力を1つのドメインだけでなく、次の2行でも確認したいと思います。

例:

tail -f /var/log/Apache2/modsec_audit.log |grep mydomain.de

これは、 "mydomain.de"を含むすべての行を示していますが、重要な情報は、ドメインが含まれている行の下の行にあります

17
rubo77

grepには、結果の前後の行数を定義する追加オプションがあります。

  • -A(後)
  • -B(変更前)
  • -C(コンテキスト[前+後])

したがって、あなたのケースでは-Aが必要です:

YOUR_COMMAND |grep -A NUMBER YOURDOMAIN

上記のコマンドは、ファイルのNUMBERの後にYOURDOMAIN行を出力します。

26
PersianGulf

コンテキスト行の数をgrepに渡してみてください。

| grep -C 5

マッチの前後に5行を印刷します。

9
Santosh