Ich habe mich gefragt, ob es eine optimale Möglichkeit gibt, den folgenden Befehl auszuführen
cat cisco.log-20151103.log | grep -v "90.192.142.138" | grep -v "PIX" | grep -v "Intrusion"
Ich habe es versucht
cat cisco.log-20151103.log | grep -v "90.192.142.138|PIX|Intrusion"
aber es funktioniert nicht.
Antwort1
zwei weitere Optionen
grep -v -e 90.192.142.138 -e PIX -e Intrusion cisco.log-20151103.log
und unter der Annahme fester Zeichenfolgen
grep -vF '90.192.142.138
PIX
Intrusion
' cisco.log-20151103.log
Antwort2
grep benötigt nicht unbedingt eine Eingabe aus einer Pipe, daher könnten Sie Folgendes tun:
grep -vE '90\.192\.142\.138|PIX|Intrusion' cisco.log-20151103.log
Ein großes E aktiviert den regulären Ausdrucksmodus. In diesem Fall müssen Punkte maskiert werden.
Antwort3
grep -vE "90.192.142.138|PIX|Intrusion" cisco.log-20151103.log
Antwort4
$ grep -v -f exclude.list
$ cat exclude.list
90.192.142.138
PIX
Intrusion