Question grep exclut plusieurs chaînes


J'essaie de voir un fichier journal en utilisant tail -f et que vous souhaitez 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 puis-je exclure les lignes contenant l'un des string1 ou string2.


75
2018-04-25 10:43


origine


Réponses:


Deux exemples de filtrage de plusieurs lignes avec grep:

Mettez ça dans filename.txt:

abc
def
ghi
jkl

Commande grep utilisant l'option -E avec un canal entre les jetons d'une chaîne:

grep -Ev 'def|jkl' filename.txt

estampes:

abc
ghi

Commande utilisant l'option -v avec pipe entre les jetons entourés de parens:

egrep -v '(def|jkl)' filename.txt

estampes:

abc
ghi

71
2017-08-11 18:28



Une autre option consiste à créer une liste d'exclusion, ce qui est particulièrement utile lorsque vous avez une longue liste de choses à exclure.

vi /root/scripts/exclude_list.txt

Maintenant, ajoutez ce que vous souhaitez exclure

Nopaging the limit is
keyword to remove is

Maintenant, utilisez grep pour supprimer les lignes de votre fichier journal de fichiers et afficher les informations non exclues.

grep -v -f /root/scripts/exclude_list.txt /var/log/admin.log

28
2018-02-13 08:30



egrep -v "Nopaging the limit is|keyword to remove is"

18
2018-04-25 10:49



grep -Fv -e 'Nopaging the limit is' -e 'keyword to remove is'

-F correspond à des chaînes littérales (au lieu de regex)

-v inverse le match

-e permet plusieurs modes de recherche (tous littéraux et inversés)


18
2017-11-01 23:50



Vous pouvez utiliser grep comme ceci:

tail -f admin.log | grep -v "Nopaging the limit is\|keyword to remove is"


9
2017-10-21 04:43



tail -f admin.log|grep -v -E '(Nopaging the limit is|keyword to remove is)'

8
2018-04-25 10:51



Les greps peuvent être enchaînés. Par exemple:

tail -f admin.log | grep -v "Nopaging the limit is" | grep -v "keyword to remove is"

4
2018-02-17 17:13