Igor,
Fiz rapidinho em Python, nada elaborado, veja se ajuda.
Mas eh um probleminha interessante para o { grep, tr, sed, awk, cut ...}
O que estas ferramentas tem me salvo no XP nao eh brincadeira, gracas ao Cygwin
o XP ficou mais, digamos, suportavel, IMHO, quero deixar claro, no flames,
please.
[]s
julio menezes
# -*- coding: latin-1 -*-
a=('"aaaa bbb"<[EMAIL PROTECTED]>',
'[EMAIL PROTECTED]',
'"$çqqq a~â"<[EMAIL PROTECTED]>',
"nada - nada _ lixo...")
for i in range(len(a)):
print
print a[i]
try:
k=a[i].index('@') # tem de ter arroba
try:
j=a[i].index('<') # pode ter < e >
m=a[i].index('>')
print a[i],j,k,m, 'limpo:',a[i][j+1:m] # pega entre < e >
except:
print a[i], k, 'so arroba:',a[i]
except:
print "erro ou linha invalida."
#---------- saida
## "aaaa bbb"<[EMAIL PROTECTED]>
## "aaaa bbb"<[EMAIL PROTECTED]> 10 25 37 limpo: [EMAIL PROTECTED]
##
## [EMAIL PROTECTED]
## [EMAIL PROTECTED] 16 so arroba: [EMAIL PROTECTED]
##
## "$çqqq a~â"<[EMAIL PROTECTED]>
## "$çqqq a~â"<[EMAIL PROTECTED]> 11 21 36 limpo: [EMAIL PROTECTED]
##
## nada - nada _ lixo...
## erro ou linha invalida.
--- Em qua, 8/10/08, Igor Gentil <[EMAIL PROTECTED]> escreveu:
> De: Igor Gentil <[EMAIL PROTECTED]>
> Assunto: [slack-users] regexp
> Para: [email protected]
> Data: Quarta-feira, 8 de Outubro de 2008, 18:02
> to com um problemao nas maos...
> nunca gostei muito de expressoes regulares, mas agora
> preciso usar elas x/
>
> tenho o seguinte problema.
> tenho um arquivo txt com e-mails dentro, mas ele está
> muito poluído.
> tem e-mails que estão na forma <email>
> outros que tem "Nome da pessoa" ->
> <email>
> outros tem caractéres bugindows pra atrapalhar
> e outros é só o e-mail na linha mesmo...
>
> tem como limpar esse arquivo para que fiquem só os
> endereços de e-mail, um
> por linha, no shell?
> (se alguem quiser passar um código php/perl pode ser
> tb...)
>
> passei uma 1/2 hora escrevendo um código php pra fazer
> isso, mas ta
> complicado, pq como é muito poluído, nao consigo prever
> todas as
> possibilidades...
>
> no aguardo...
>
> Igor Gentil
> Linux user #471248 -- Slackware
> [EMAIL PROTECTED]
> --"O Root é Jesus e os Usuários somos nozes..."
>
>
Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses
--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
-~----------~----~----~----~------~----~------~--~---