Saya mencoba melihat file log menggunakan tail -f
dan ingin mengecualikan semua baris yang berisi string berikut:
"Nopaging the limit is"` and `"keyword to remove is"
Saya dapat mengecualikan satu string seperti ini:
tail -f admin.log|grep -v "Nopaging the limit is"
Tetapi bagaimana cara mengecualikan baris yang mengandung salah satu dari string1
atau string2
.
grep -v -e def -e jkl
metode yang IMHO lebih jelas…grep -Fv -e def -e jkl
yang lebih cepat!grep -vF $(pgrep myprocess)
-F
cocok dengan string literal (bukan ekspresi reguler)-v
membalikkan pertandingan-e
memungkinkan beberapa pola pencarian (semua literal dan terbalik)sumber
grep -v
contoh ganda dan persyaratan buatan regex (memungkinkan beberapa string ditentukan dengan rapi dalam argumen terpisah). Bayangkan saja membuat regex itu secara terprogram dalam skrip untuk string yang dapat berisi apa saja…Pilihan lainnya adalah membuat daftar pengecualian, ini berguna khususnya ketika Anda memiliki daftar panjang hal-hal untuk dikecualikan.
Sekarang tambahkan apa yang ingin Anda kecualikan
Sekarang gunakan grep untuk menghapus baris dari file log file Anda dan melihat informasi yang tidak dikecualikan.
sumber
-v
dengan-f
(atau yang terakhir bahkan ada).grep -v -f <(gen_exclusions.sh) /var/log/admin.log
sumber
sumber
Anda dapat menggunakan grep biasa seperti ini:
tail -f admin.log | grep -v "Nopaging the limit is\|keyword to remove is"
sumber
Grep bisa dirantai. Sebagai contoh:
sumber