Ciao,<br>io non conosco bene sed e faccio fatica con le regolar expression, quindi uso altri oggetti:<br><br>esempio<br>pippo='From: "Pippo pluto" <<a href="mailto:Pippo.pluto@topolinia.to">Pippo.pluto@topolinia.to</a>>'<br>
echo $pippo | grep From | cut -d '<' -f 2 | cut -d '>' -f 1<br><br><br><br><br><br><div class="gmail_quote">Il giorno 11 ottobre 2010 12:33, Diego Roversi <span dir="ltr"><<a href="mailto:diegor@tiscali.it">diegor@tiscali.it</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Ciao,<br>
<br>
ho un problemino simpatico, da dentro uno script devo leggere l'indirizzo<br>
email dal campo From:<br>
<br>
Il problema sembra banale, ma e' complicato dal fatto che posso avere casi<br>
diversi:<br>
<br>
From: "Pippo pluto" <<a href="mailto:Pippo.pluto@topolinia.to">Pippo.pluto@topolinia.to</a>><br>
<br>
Oppure<br>
<br>
From: "descrizione molto lunga, abolissero i doppi nomi cheemmeglio"<br>
<<a href="mailto:Contessa.Serbelloni.Mazzanti@viendalmare.it">Contessa.Serbelloni.Mazzanti@viendalmare.it</a>><br>
<br>
Notare che l'indirizzo di mail e' sulla riga successiva.<br>
<br>
Preso dall'entusiasmo ho cercato di estrarre il nome con sed:<br>
<br>
cat mail.eml | sed -n -e '/^From: /{N;p;q}' \<br>
| sed -n -e 's/^.*<\(.*\)>/\1/p;q'<br>
<br>
Ma non funziona nel secondo caso, perche' il q (quit) viene eseguito a<br>
prescindere che il comando s abbia trovato qualcosa o meno. Ovviamente posso<br>
mettere un grep in mezzo ai due sed, ma mi chiedevo se c'era un modo per<br>
farlo senza avere troppi comandi in pipe uno dopo l'altro.<br>
<br>
Ciao,<br>
Diego Roversi<br>
<font color="#888888"><br>
--<br>
Mailing list info: <a href="http://lists.linux.it/listinfo/gl-como" target="_blank">http://lists.linux.it/listinfo/gl-como</a><br>
</font></blockquote></div><br>