Uma solução bem fulera em materia de regex: lazlo:~# echo 'From: "Fulano da Silva" <[EMAIL PROTECTED]>' | sed 's/^From:.*<\(.*\)>/\1/' [EMAIL PROTECTED]
Mas resolve a maioria dos casos.. lazlo:~# echo 'From: "Fulano da <Silva" <[EMAIL PROTECTED]>' | sed 's/^From:.*<\(.*\)>/\1/' [EMAIL PROTECTED] lazlo:~# echo 'From: "Fulano da <Silva>" <[EMAIL PROTECTED]>' | sed 's/^From:.*<\(.*\)>/\1/' [EMAIL PROTECTED] Flavio do Carmo Junior On Nov 8, 2007 3:21 PM, Ricardo <[EMAIL PROTECTED]> wrote: > > > > > > > Galera, estou com um probleminha que meus conhecimentos em shell não > estão conseguindo solucionar. > > Tenho que retirar de uma mail-box o endereço de e-mail que fica na > linha From: desse arquivo. Dando um 'grep "^From: " arq', ele me > retorna a linha inteira, que pode ser um dos dois padrões a seguir: > > From: "Fulano da Silva" <[EMAIL PROTECTED]> > > ou > > From: <[EMAIL PROTECTED]> > > Minha dificuldade está em tirar somente o endereço de e-mail dessa > linha, pq preciso guarda-la em uma variável e adiciona-la como parte > do nome de um arquivo. > > Alguma luz?????? > > Obrigadão.... > >
