Wyrażenie Grep NIE zawierające łańcucha

Przekazuję listę wzorców wyrażeń regularnych dogrep sprawdzić w pliku syslog. Zazwyczaj pasują do adresu IP i wpisu dziennika;

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

To tylko lista wzorców, takich jak"1\.2\.3\.4.*Has exploded" część, którą przechodzę, w pętli, więc nie mogę na przykład przekazać „-v”.

Jestem zdezorientowany próbując zrobić odwrotność powyższego, NIE pasuję do linii z pewnym adresem IP i błędem, więc "! 1.2.3.4. * Eksplodował" dopasuje wiersze syslog do czegokolwiek innego niż 1.2.3.4 mówiąc mi, że wybuchł . jamusi być w stanie dołączyć IP, aby NIE pasować.

Widziałem wiele podobnych postów w StackOverflor, jednak używają wzorców regex, z którymi nie mogę pracowaćgrep. Czy każdy może stanowić przykład pracygrep Proszę?

AKTUALIZACJA: Dzieje się tak w skrypcie takim jak ten;

<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>

questionAnswers(3)

yourAnswerToTheQuestion