Yanıtlar:
İçin kalıp eşleme ters çevirme seçeneği bunun -v
için grep
gerçekten yararlıdır:
grep -v 'UFW BLOCK' /var/log/syslog
Bu size içermeyen tüm satırları gösterecektir UFW BLOCK
. Gibi grep
varsayılan olarak kullandığı temel düzenli ifadeler, parantez dahil uzay dahil 'UFW BLOK' bireysel karakterlerden herhangi aramak yapacaktır. Muhtemelen hiç çıktı almazsınız. Dizenin etrafında parantez bulunduğundan emin olmanız gerekiyorsa, ya bunlardan kaçın ya \[UFW BLOCK\]
da yalnızca sabit dizeleri dahil etme -F
seçeneğini kullanın grep
( bu konuda tavsiye için Zanna ve Steeldriver'a teşekkürler ):
grep -Fv '[UFW BLOCK]' /var/log/syslog
Çıkışı aşağıdaki gibi bir çağrı cihazına bağlayarak görüntülemeyi kolaylaştırabilirsiniz less
:
grep -v 'UFW BLOCK' /var/log/syslog | less
Veya daha sonra görüntülemek için çıktıyı ana dizininizdeki bir dosyaya yönlendirin:
grep -v 'UFW BLOCK' /var/log/syslog > ~/filtered_syslog
fgrep
Eşdeğer olan komutu da kullanabilirsiniz grep -F
.
Düzenleme özelliklerine sahip herhangi bir aracı kullanabilirsiniz. Size şimdiden kullanarak çözümler verildi grep
ve sed
işte birkaç seçenek daha. Bunların hepsi kolayca dağıtılması hedefleniyor less
ya more
veya başka bir şey.
Perl
perl -ne 'print unless /\[UFW BLOCK\]/' /var/log/syslog
Bu Perl olduğundan, TIMTOWDI! .
perl -pe '$_="" if /\[UFW BLOCK\]/' /var/log/syslog
perl -ne '/\[UFW BLOCK\]/ || print' /var/log/syslog
perl -ne 'print if !/\[UFW BLOCK\]/' /var/log/syslog
perl -ne '!/\[UFW BLOCK\]/ && print' /var/log/syslog
perl -ne '/\[UFW BLOCK\]/ ? "" : print' /var/log/syslog
awk
awk '!/\[UFW BLOCK\]/' file
Siz de kullanabilirsiniz awk
:
awk '!/PATTERN/' log
Ben birden fazla "desen" var bunu kullanın ve ben grep
gibi iki kullanmak istemiyorum :
... | grep -v foo | grep -v bar
bu sözdizimi:
awk '!/PATTERN/ && !/PATTERN2/' log
grep -Ev "foo|bar"
?
-e
Birden çok desen tanımlamak için de kullanabilirsiniz . grep -v -e 'foo' -e 'bar'
less
bir regex deseninden sonra görüntülenen çizgileri filtreleme olanağı sunduğunu bilmek isteyebilirsiniz . Bu özelliği,&
ardından deseni yazarak kullanabilir ve&
tek başına yazarak geri alabilirsiniz .