Partage
  • Partager sur Facebook
  • Partager sur Twitter

grep et regex pour adresse mail qui ne fonctionne

Impossible de faire fonctionner une expression régulière

Sujet résolu
    28 janvier 2015 à 9:20:17

    Bonjour à tous,

    L'idée est de trouver dans une boite mail où je mets les retours en erreur de faire la liste des mails qui sont revenus.

    Sur mac, à l'aide du terminal je vais jusqu'au dossier qui contient la boite et j'essaie d'appliquer sur le fichier de la boite :

    grep -E '^<[a-zA-Z0-9-._]+@[a-zA-Z0-9-._]+>$' nom_du_fichier

    Si j'ouvre le fichier avec nano, je vois qu'il y a des adresses mail entourées de < >.

    J'ai aussi essayé avec l'expression régulière trouvée sur le tuto consacré sur ce site, c'est à dire :

    '^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$'

    Ça ne fonctionne pas. Par contre, si je supprime le ^ du début et le dollars de la fin, j'obtiens un résultat, sauf que j'ai toute la ligne ce qui impliquerait un nettoyage fastidieux.

    Bref je ne comprends pas ce qui ne fonctionne pas.

    Si quelqu'un a une idée, je suis preneur. Merci d'avance.


    • Partager sur Facebook
    • Partager sur Twitter
      28 janvier 2015 à 10:04:36

      Salut,

      C'est un comportement normal. Pour extraire les données correspondantes au regex il faut utiliser -o comme ceci :

      cat nom_du_fichier | egrep -o '[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}'



      -
      Edité par Rednax 28 janvier 2015 à 10:05:15

      • Partager sur Facebook
      • Partager sur Twitter
        28 janvier 2015 à 10:08:11

        Bonjour,

        Donc, j'ai trouvé ça qui fonctionne :

        grep -Eio '([[:alnum:]_.-]+@[[:alnum:]_.-]+?\.[[:alpha:].]{2,6})' 

        Alors, question complémentaire : est-il possible de demander qu'une expression déjà trouvée ne soit pas notée une autre fois.

        Merci d'avance.
        D.

        • Partager sur Facebook
        • Partager sur Twitter
          28 janvier 2015 à 10:21:30

          Super

          Merci Rednax. C'est marrant comme plusieurs chemins peuvent mener à Rome !

          • Partager sur Facebook
          • Partager sur Twitter

          grep et regex pour adresse mail qui ne fonctionne

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown