[gl-como] esperti di sed cercasi

Diego Roversi diegor@tiscali.it
Lun 11 Ott 2010 12:33:52 CEST


Ciao,

  ho un problemino simpatico, da dentro uno script devo leggere l'indirizzo
email dal campo From:

Il problema sembra banale, ma e' complicato dal fatto che posso avere casi
diversi:

From: "Pippo pluto" <Pippo.pluto@topolinia.to>

Oppure

From: "descrizione molto lunga, abolissero i doppi nomi cheemmeglio"
    <Contessa.Serbelloni.Mazzanti@viendalmare.it>

Notare che l'indirizzo di mail e' sulla riga successiva.

Preso dall'entusiasmo ho cercato di estrarre il nome con sed:

cat mail.eml |  sed -n -e '/^From: /{N;p;q}' \
| sed -n -e 's/^.*<\(.*\)>/\1/p;q'

Ma non funziona nel secondo caso, perche' il q (quit) viene eseguito a
prescindere che il comando s abbia trovato qualcosa o meno. Ovviamente posso
mettere un grep in mezzo ai due sed, ma mi chiedevo se c'era un modo per
farlo senza avere troppi comandi in pipe uno dopo l'altro.

Ciao,
  Diego Roversi


Maggiori informazioni sulla lista gl-como