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


15

私は、1つのドメインだけでなく、次の2行によっても記録されたログファイルの出力を見たいと思います

例:

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

「mydomain.de」を含むすべての行が表示されますが、重要な情報は、ドメインが含まれる行の下の行にあります

回答:


24

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

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

だからあなたの場合にはあなたが必要です-A

YOUR_COMMAND |grep -A NUMBER YOURDOMAIN

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


ただし、これはGNU拡張機能であることに注意してください。Linuxを使用している場合は、grep間違いなくこのオプションがあります。そうでない場合は、確認してください。
レオニード

9

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

| grep -C 5

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.