Cara menggunakan tail -f dengan grep untuk menunjukkan garis di sekitarnya


15

Saya ingin melihat output dalam logfile yang hanya dimiliki oleh satu domain tetapi juga dua baris berikut .

Contoh:

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

ini menunjukkan semua baris, yang mengandung "mydomain.de" tetapi informasi penting ada di baris di bawah baris, di mana domain disertakan

Jawaban:


24

grep memiliki opsi tambahan untuk menentukan berapa baris sebelum dan setelah hasilnya:

  • -A (setelah)
  • -B (sebelum)
  • -C (konteks [sebelum + setelah])

Jadi, dalam kasus Anda, Anda perlu -A:

YOUR_COMMAND |grep -A NUMBER YOURDOMAIN

perintah di atas mencetak NUMBERbaris setelah YOURDOMAINdalam file.


Harap dicatat, bagaimanapun, bahwa ini adalah ekstensi GNU. Jika Anda menggunakan Linux, Anda greppasti memiliki opsi ini. Jika tidak, sebaiknya Anda periksa.
Leonid

9

Coba lewati sejumlah baris konteks untuk dipahami.

| grep -C 5

akan mencetak 5 baris sebelum dan sesudah pertandingan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.