tampilkan seluruh aliran sambil menyorot dengan grep

1

Saya sering menggunakan tail -f | grep someregex pada file log. Saya merasa senang grep ---color=auto jadi pertandingan saya disorot. Jika saya ingin melihat pertandingan saya dalam konteks seluruh aliran, bagaimana saya melakukannya? Intinya, saya ingin menggunakan tail + grep sebagai stabilo.

Pete
sumber
1
Bisakah Anda menjelaskan? Apa yang Anda maksud dengan seluruh aliran? Jika Anda ingin seluruh aliran, jangan gunakan tail, jalankan grep somepattern langsung. Bisakah Anda memberi contoh jenis proses yang Anda pantau?
terdon
jika saya mengekor file log, memahami pesan kesalahan, tetapi ingin melihatnya dalam konteks beberapa pesan debug yang mengarah ke kecocokan itu, secara real time.
Pete

Jawaban:

2

Untuk melihat kecocokan Anda dalam konteks, gunakan tombol -C pilihan. Untuk melihat semua baris, gunakan argumen besar untuk -C, mis.,

tail -f yourlogfile | grep -C9999 someregex
garyjohn
sumber
Tidak yakin mengapa saya tidak mencoba ini, saya hanya mengasumsikan argumen konteks tidak akan berfungsi pada stream. Terima kasih.
Pete
0

Jika saya mengerti dengan baik, itu yang Anda cari:

grep "someregex" yourFile

Ini akan mencetak garis di mana "regex" cocok.

Manolo
sumber
Saya menggunakan ini pada file log, saya ingin melihatnya output dalam waktu nyata tanpa interaksi, karenanya ekor -f, tetapi ingin menyoroti pertandingan
Pete
Kecocokan disorot dengan perintah Anda. Jadi, apa output yang Anda inginkan?
Manolo
Yah, saya pikir saya mengerti Anda sekarang, karena saya sudah melihat jawaban @johnjohn. Apakah itu perilaku yang Anda inginkan?
Manolo