Grep Regex enthält KEINE Zeichenfolge

Ich übergebe eine Liste von Regex-Mustern angrep gegen eine Syslog-Datei zu überprüfen. Sie stimmen normalerweise mit einer IP-Adresse und einem Protokolleintrag überein.

<code>grep "1\.2\.3\.4.*Has exploded" syslog.log
</code>

Es ist nur eine Liste von Mustern wie das"1\.2\.3\.4.*Has exploded" Teil, den ich übergebe, in einer Schleife, also kann ich zum Beispiel nicht "-v" übergeben.

Ich bin verwirrt, wenn ich versuche, das Umgekehrte des oben Genannten zu tun. Wenn NICHT Zeilen mit einer bestimmten IP-Adresse und einem bestimmten Fehler übereinstimmen, stimmt "! 1.2.3.4. * Hat explodiert" mit Syslog-Zeilen überein, wenn nicht 1.2.3.4 . ichMuss in der Lage sein, eine IP aufzunehmen, die NICHT übereinstimmt.

Ich habe auf StackOverflor verschiedene ähnliche Posts gesehen, die jedoch Regex-Muster verwenden, mit denen ich scheinbar nicht arbeiten kanngrep. Kann jemand ein funktionierendes Beispiel fürgrep Bitte?

AKTUALISIEREN: Dies geschieht in einem Skript wie diesem.

<code>patterns[1]="1\.2\.3\.4.*Has exploded"
patterns[2]="5\.6\.7\.8.*Has died"
patterns[3]="\!9\.10\.11\.12.*Has exploded"

for i in {1..3}
do
 grep "${patterns[$i]}" logfile.log
done
</code>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage