Déjà, ta regex est pas terrible (il manque tout plein de caractères), mais bon.
mais je voudrais récupérer plus précisement uniquement
tu peux faire un pipe dans sed (genre sed -e 's/^From: ".*" <//' -e 's/>$//', mais ça risque de dépendre beaucoup du format de la ligne en question, faut voir s'il est vraiment aussi fixe que tu le penses). Sinon pipe dans sed -e 's/regex qui matche ce que tu veux/&/' ça le fait aussi.
Tu peux aussi faire ça en perl:
#!/usr/bin/perl -w use strict; while (<>) { if (/(ta regex de la mort qui tue qui matche ce que tu veux)/) { print "$1n"; } }
[pas testé, mais bon ça devrait le faire]
Mais à mon avis t'as du boulot sur la regex ;->
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Salut,
On Thu, 2 Sep 2004 16:35:40 +0200, Tonio <am@axisoft.fr> wrote:
Déjà, ta regex est pas terrible (il manque tout plein de caractères), mais
bon.
mais je voudrais récupérer plus précisement blabla@bla.com uniquement
tu peux faire un pipe dans sed (genre sed -e 's/^From: ".*" <//' -e
's/>$//', mais ça risque de dépendre beaucoup du format de la ligne en
question, faut voir s'il est vraiment aussi fixe que tu le penses). Sinon
pipe dans sed -e 's/regex qui matche ce que tu veux/&/' ça le fait aussi.
Tu peux aussi faire ça en perl:
#!/usr/bin/perl -w
use strict;
while (<>)
{
if (/(ta regex de la mort qui tue qui matche ce que tu veux)/)
{
print "$1n";
}
}
[pas testé, mais bon ça devrait le faire]
Mais à mon avis t'as du boulot sur la regex ;->
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
Déjà, ta regex est pas terrible (il manque tout plein de caractères), mais bon.
mais je voudrais récupérer plus précisement uniquement
tu peux faire un pipe dans sed (genre sed -e 's/^From: ".*" <//' -e 's/>$//', mais ça risque de dépendre beaucoup du format de la ligne en question, faut voir s'il est vraiment aussi fixe que tu le penses). Sinon pipe dans sed -e 's/regex qui matche ce que tu veux/&/' ça le fait aussi.
Tu peux aussi faire ça en perl:
#!/usr/bin/perl -w use strict; while (<>) { if (/(ta regex de la mort qui tue qui matche ce que tu veux)/) { print "$1n"; } }
[pas testé, mais bon ça devrait le faire]
Mais à mon avis t'as du boulot sur la regex ;->
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Stephane Chazelas
2004-09-2, 16:35(+02), Tonio: [...]
cat fichier | grep -E "[a-zA-Z0-9]+@[a-zA-Z0-9]+"
"cat", c'est pour concatener, je vois pas trop ce que ca vient faire la (www.ling.helsinki.fi/~reriksso/unix/award.html)
From: "blabla bla @ bla"
mais je voudrais récupérer plus précisement uniquement [...]
Les versions recentes du GNU grep ont l'option "-o".
Tu peux aussi faire:
tr -cs '' < fichier | grep -Ex '[^@]+@[^@]+'
Voir http://www.livejournal.com/users/bluesmoon/22103.html pour une regexp plus precise...
-- Stephane
2004-09-2, 16:35(+02), Tonio:
[...]
cat fichier | grep -E "[a-zA-Z0-9]+@[a-zA-Z0-9]+"
"cat", c'est pour concatener, je vois pas trop ce que ca vient
faire la (www.ling.helsinki.fi/~reriksso/unix/award.html)
From: "blabla bla @ bla" <blabla@bla.com>
mais je voudrais récupérer plus précisement blabla@bla.com uniquement
[...]
Les versions recentes du GNU grep ont l'option "-o".