Expression régulière avec grep

Résolu/Fermé
Bonjour,

je cherche désespérément l'expression régulière qui me permettrait de trouver des mots, mais en ôtant certains contextes.

Je m'explique :

grep -c -E "failed|unexpectedly exited"

me sort le nombre de fois où j'ai 'failed' ou 'unexpectedly exited'.

Mais je souhaiterais qu'il ne me compte pas le cas où j'ai "reverse DNS lookup failed"

Bien entendu, le mot "failed" est n'importe où sur la ligne...

Est-ce possible ? Si oui, comment faire ?

Merci d'avance.

--
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

4 réponses

  1. Modérateur
    Bonjour,

    merci de lire ma question un jour... ;-)

    Je veux qu'il me compte le nombre de fois où il trouve failed et unexpectedly exited, mais qu'il ne me compte pas "reverse DNS lookup failed" comme trouvant "failed"...

    a ou b mais pas c (avec a compris dans c)
    1. Modérateur
      Salut,

      J'ai pas de quoi testé sous la main, mais un truc du genre devrait passé :
      grep  -E "failed|unexpectedly exited" | grep  -c -E -v "reverse DNS"
      ";-))
      1. Modérateur
        C'est bon, pas de souci...

        J'étais tellement omnubilé par les ER, que je n'ai pas pensé aux pipes...

        Pourtant, ma ligne initiale en contient déjà 2 !

        Merci bien.