[gl-como] esperti di sed cercasi

Fabio Comuni fabrix.xm@gmail.com
Lun 11 Ott 2010 14:27:40 CEST


Il 11/10/2010 14:17, Elena ``of Valhalla'' ha scritto:
> Ciao
>
> On 2010-10-11 at 12:33:52 +0200, Diego Roversi wrote:
>>    ho un problemino simpatico, da dentro uno script devo leggere l'indirizzo
>> email dal campo From:
>> [anche se arriva da]
>> From: "descrizione molto lunga, abolissero i doppi nomi cheemmeglio"
>>      <Contessa.Serbelloni.Mazzanti@viendalmare.it>
>> cat mail.eml |  sed -n -e '/^From: /{N;p;q}' \
>> | sed -n -e 's/^.*<\(.*\)>/\1/p;q'
>
> Prova quando hai ben trovato il From ad unire la riga successiva,
> solo se inizia con uno spazio:
>
> cat mail.eml |  sed -n -e '/^From: /{N;s/\n\ //;p;q}' \
> | sed -n -e '/^From: /{s/^.*<\(.*\)>/\1/p;q}'
>
> e a quel punto sulla riga successiva devi controllare ancora che
> l'inizio sia un From: (o almeno credo)
>

o, se devi tirare fuori solo il from
cat mail.eml | sed -n -e "/^From:/{N;s/.*<\(.*\)>.*/\1/p}"

se la riga inizia con From:, unisci la riga successiva, sostituisci il 
tutto con l'email, stampa e esci
L'ultimo .* copre il caso in cui il From: è tutto su una riga...


Maggiori informazioni sulla lista gl-como