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;
grep "1\.2\.3\.4.*Has exploded" syslog.log
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;
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