J'essaie de voir un fichier journal en utilisant tail -f
et je souhaite exclure toutes les lignes contenant les chaînes suivantes:
"Nopaging the limit is"` and `"keyword to remove is"
Je suis capable d'exclure une chaîne comme ceci:
tail -f admin.log|grep -v "Nopaging the limit is"
Mais comment exclure les lignes contenant l'un string1
ou l' autre de ou string2
.
grep -v -e def -e jkl
méthode quigrep -Fv -e def -e jkl
ce qui est encore plus rapide!grep -vF $(pgrep myprocess)
-F
correspond par chaînes littérales (au lieu de regex)-v
inverse le match-e
permet plusieurs modèles de recherche (tous littéraux et inversés)la source
grep -v
instances multiples et l'exigence artificielle d'une expression régulière (permet aux chaînes multiples d'être spécifiées proprement dans des arguments séparés). Imaginez la construction de cette expression régulière par programme dans un script pour des chaînes qui pourraient contenir n'importe quoi…Une autre option est de créer une liste d'exclusion, ceci est particulièrement utile lorsque vous avez une longue liste de choses à exclure.
Ajoutez maintenant ce que vous souhaitez exclure
Utilisez maintenant grep pour supprimer des lignes de votre fichier journal et afficher les informations non exclues.
la source
-v
avec-f
(ou que ce dernier existait même).grep -v -f <(gen_exclusions.sh) /var/log/admin.log
la source
la source
Vous pouvez utiliser un grep normal comme ceci:
tail -f admin.log | grep -v "Nopaging the limit is\|keyword to remove is"
la source
Les greps peuvent être enchaînés. Par exemple:
la source