Mencari program seperti tail
atau less
yang memungkinkan saya melihat log saya tanpa garis yang berisi string tertentu. Sebagai contoh, lihat syslog saya tanpa [UFW BLOCK]
baris entri UFW ( ).
command-line
less
John Gr.
sumber
sumber
less
menawarkan kemungkinan untuk menyaring garis yang ditampilkan setelah pola regex. Anda dapat menggunakan fitur ini dengan mengetik&
diikuti oleh pola, dan Anda dapat mengembalikannya dengan mengetikkan&
saja.Jawaban:
Pilihan pola pertandingan inversi
-v
untukgrep
benar-benar membantu untuk ini:Ini akan menampilkan semua baris yang tidak mengandung
UFW BLOCK
. Sepertigrep
menggunakan ekspresi reguler dasar secara default, dimasukkannya tanda kurung akan membuatnya mencari salah satu karakter individu dari 'UFW BLOCK' termasuk ruang. Anda mungkin berakhir tanpa hasil. Jika Anda perlu memastikan bahwa ada tanda kurung di sekeliling string, lepaskan dari mereka\[UFW BLOCK\]
, atau gunakan-F
opsigrep
hanya menyertakan string tetap (Terima kasih kepada Zanna dan Steeldriver untuk sarannya tentang ini):Anda dapat membuatnya lebih mudah untuk dilihat dengan menyalurkan output ke pager seperti
less
:Atau redirect output ke file di direktori home Anda untuk dilihat nanti:
sumber
fgrep
perintah yang setara dengangrep -F
.Anda juga dapat menggunakan
sed
'sd
perintah untuk menghapus baris dengan pola dari sungai:Kami melarikan diri
[]
seperti biasanya mereka menunjukkan kelas karakter, yang berarti "cocokkan apa pun di dalam sini"sumber
Anda dapat menggunakan alat apa pun dengan kemampuan mengedit. Anda telah diberi solusi menggunakan
grep
dansed
, berikut adalah beberapa pilihan lain. Semua ini dapat dengan mudah disalurkan keless
ataumore
atau apa pun.Perl
Karena ini Perl, TIMTOWDI! .
awk
sumber
Anda juga bisa menggunakan
awk
:Saya menggunakannya ketika saya punya lebih dari satu "pola" dan saya tidak ingin menggunakan dua
grep
seperti:yang sintaksnya adalah:
sumber
grep -Ev "foo|bar"
?-e
untuk mendefinisikan beberapa pola.grep -v -e 'foo' -e 'bar'
Dengan opsi
less
perintah&
itu mungkin untuk menyaring untuk menampilkan hanya pola yang cocok yang diinginkan seperti di bawah ini,dalam kasus Anda jika Anda ingin garis filter dengan
UFW BLOCK
tidak ditampilkan dalam output, Anda bisa menggunakan&!
seperti di bawah ini:sumber