Je suis de passage d'une liste de modèles regex pour grep
pour vérifier la présence d'un fichier syslog. Ils sont généralement correspondant à une adresse IP et l'entrée du journal;
grep "1\.2\.3\.4.*Has exploded" syslog.log
C'est juste une liste de modèles comme l' "1\.2\.3\.4.*Has exploded"
part je suis de passage, dans une boucle, donc je ne peux pas passer "-v" par exemple.
Je suis confus d'essayer de faire l'inverse de ce qui précède, un NON match des lignes avec une certaine adresse IP et erreur tellement "!1.2.3.4.*A explosé" correspond à syslog lignes pour rien d'autre que 1.2.3.4 à me dire qu'il a explosé. Je doit être en mesure d'inclure un IP de ne PAS correspondre.
J'ai vu plusieurs des postes similaires sur StackOverflor cependant ils utilisent des modèles regex que je n'arrive pas à obtenir de travailler avec grep
. Quelqu'un peut-il fournir un exemple pour grep
s'il vous plaît?
Mise à JOUR: Ce qui se passe dans un script comme celui-ci;
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