Extraire plusieurs chaines de caractères
Résolu/Fermé
A voir également:
- Extraire plusieurs chaines de caractères
- Extraire video youtube - Guide
- Caractères ascii - Guide
- Caractères spéciaux symboles clavier - Guide
- Extraire son video - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
5 réponses
mamiemando
Messages postés
33077
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2024
7 748
22 déc. 2009 à 14:37
22 déc. 2009 à 14:37
Je ferais un grep (en passant l'expression permettant de rattraper une adresse mail) cut sur le séparateur < (prendre le champ 2) et un cut sur le séparateur > (prendre le champ 1. Dans l'idée ça ressemble à ça (sur la même ligne) :
(à tester)
Bonne chance
grep "[a-zA-Z0-9.\-]*@[a-zA-Z0-9.\-]*" /le/chemin/vers/le/fichier.txt | cut -d'<' -f2 | cut -d'>' -f1
(à tester)
Bonne chance
Merci mamiemando,
Effectivement ca marche en grande partie mais je ne récupère qu'une adresse mail par ligne. Dans mon exemple, on perd l'adresse maya79@mondom2.fr.
D'où l'idée de faire un découpage sur le caractère espace mais je sèche toujours.
Effectivement ca marche en grande partie mais je ne récupère qu'une adresse mail par ligne. Dans mon exemple, on perd l'adresse maya79@mondom2.fr.
D'où l'idée de faire un découpage sur le caractère espace mais je sèche toujours.
Salut,
lami20j@debian:~$ cat mail.txt To: "Support, De test" <support-detest@mondomaine.com>, maya79@mondom2.fr CC: "Berthier, Marcel" <m.berthier@mondomaine.com>, "Barbotin, Paulo" <paul.barbotin@mondomaine.fr>, "Le Bec, De lievre" <delievre.lebec@mondomaine.com>, "Bellenger, Lucette" <l.bellenger@mondomaine.com> lami20j@debian:~$ grep "[a-zA-Z0-9.\-]*@[a-zA-Z0-9.\-]*" mail.txt | cut -d'<' -f2 | cut -d'>' -f1 support-detest@mondomaine.com m.berthier@mondomaine.com paul.barbotin@mondomaine.fr delievre.lebec@mondomaine.com l.bellenger@mondomaine.com lami20j@debian:~$ lami20j@debian:~$ lami20j@debian:~$ lami20j@debian:~$ lami20j@debian:~$ grep -o "[a-zA-Z0-9.\-]*@[a-zA-Z0-9.\-]*" mail.txt support-detest@mondomaine.com maya79@mondom2.fr m.berthier@mondomaine.com paul.barbotin@mondomaine.fr delievre.lebec@mondomaine.com l.bellenger@mondomaine.com
mamiemando
Messages postés
33077
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2024
7 748
23 déc. 2009 à 01:22
23 déc. 2009 à 01:22
Apparemment ça marche pas si mal :-) De toute façon d'un point de vue expression régulière, ce que j'ai mis est sensé rattraper maya79@mondom2.fr aussi. L'expression régulière que j'ai écrite signifie "une suite de 0 à n caractères parmi a...z A...Z 0...9 . et -, une @, et à nouveau une suite de 0 à n caractères parmi a...z A...Z 0...9 . et -.
Tu es sûr que l'adresse mail que tu ne récupères pas respecte bien cette expression régulière ?
Bonne chance
Tu es sûr que l'adresse mail que tu ne récupères pas respecte bien cette expression régulière ?
Bonne chance
Salut,
ce que j'ai mis est sensé rattraper maya79@mondom2.fr aussi.
Oui, et ça le fait ;-)
C'est le cut qui perd en chemin maya79@....fr puisque cette adresse n'est pas entouré par des chevrons < et >
1er cut
~$ cat mail.txt|grep "[a-zA-Z0-9.\-]*@[a-zA-Z0-9.\-]*" |cut -d'<' -f2
support-detest@mondomaine.com>, maya79@mondom2.fr
m.berthier@mondomaine.com>,
paul.barbotin@mondomaine.fr>,
delievre.lebec@mondomaine.com>,
l.bellenger@mondomaine.com>
2ème cut
ce que j'ai mis est sensé rattraper maya79@mondom2.fr aussi.
Oui, et ça le fait ;-)
C'est le cut qui perd en chemin maya79@....fr puisque cette adresse n'est pas entouré par des chevrons < et >
~$ cat mail.txt To: "Support, De test" <support-detest@mondomaine.com>, maya79@mondom2.fr CC: "Berthier, Marcel" <m.berthier@mondomaine.com>, "Barbotin, Paulo" <paul.barbotin@mondomaine.fr>, "Le Bec, De lievre" <delievre.lebec@mondomaine.com>, "Bellenger, Lucette" <l.bellenger@mondomaine.com>
1er cut
~$ cat mail.txt|grep "[a-zA-Z0-9.\-]*@[a-zA-Z0-9.\-]*" |cut -d'<' -f2
support-detest@mondomaine.com>, maya79@mondom2.fr
m.berthier@mondomaine.com>,
paul.barbotin@mondomaine.fr>,
delievre.lebec@mondomaine.com>,
l.bellenger@mondomaine.com>
2ème cut
~$ cat mail.txt|grep "[a-zA-Z0-9.\-]*@[a-zA-Z0-9.\-]*" |cut -d'<' -f2| cut -d'>' -f1 support-detest@mondomaine.com m.berthier@mondomaine.com paul.barbotin@mondomaine.fr delievre.lebec@mondomaine.com l.bellenger@mondomaine.com
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
23 déc. 2009 à 08:49
23 déc. 2009 à 08:49
hello
$ cat a3 To: "Support, De test" <support-detest@mondomaine.com>, maya79@mondom2.fr CC: "Berthier, Marcel" <m.berthier@mondomaine.com>, "Barbotin, Paulo" <paul.barbotin@mondomaine.fr>, "Le Bec, De lievre" <delievre.lebec@mondomaine.com>, "Bellenger, Lucette" <l.bellenger@mondomaine.com> $ $ perl -wne'while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "$&\n"}' a3 support-detest@mondomaine.com maya79@mondom2.fr m.berthier@mondomaine.com paul.barbotin@mondomaine.fr delievre.lebec@mondomaine.com l.bellenger@mondomaine.com $