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>