um simples grep basta

$ grep -oE 'to=<[^>]+>' mail.txt
to=<[EMAIL PROTECTED]>

-E habilita expressões regulares
-o mostra o que a expressão encontrou

Se vc quiser só o email pode filtrar mais:
$ grep -oE 'to=<[^>]+>' mail.txt | grep -oE '[^<[EMAIL PROTECTED]>]+'
[EMAIL PROTECTED]

A expressão [^X]+ signfica um ou mais caracteres que NÃO sejam X (lista negada).

2008/3/12 arthurbrsp <[EMAIL PROTECTED]>:
>
>
> Como fazer um programa em bash para mostrar somente a linha que quero?
>  por exemplo:
>  Mar 12 11:23:04 rede18-server42 postfix/smtp[5383]: 0CDF01887A7:
>  to=<[EMAIL PROTECTED]>, relay=mx.terra.com.br[200.154.55.2]:25,
>  conn_use=2, delay=601, delays=0.47/600/0.1/0.31, dsn=2.0.0, status=sent
>  (250 Ok: queued as 1B7163AD8069)
>
>  quero somente o email em to= ?
>
>  pode ser em bash ou ter que ser em c?
>
>  



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"

Responder a