Thread Programm zum Suchen von Emailadressen in Textdatei (7 answers)
Opened by renee at 2005-02-03 13:03

Dubu
 2005-02-03 22:08
#51557 #51557
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
@renee: Das findet nur eine E-Mail-Adresse pro Zeile. Und warum speicherst du alle Adressen zwischen, bevor du sie ausgibst?

Code: (dl )
> perl -nle 'print $1 while /([^\s<(]+\@[a-z\d.-]+)/ig' < text.txt > adressen.txt

Die Regex ist natuerlich nicht perfekt. Da koennte man sich auch etwas besseres vom CPAN holen:
Code: (dl )
> perl -MRegexp::Common=Email::Address -nle 'print $1 while /($RE{Email}{Address})/g' < text.txt > adressen.txt

Die verwendete Regexp ist allerdings sehr CPU-intensiv, und manchmal scheint sie auch komplett zu haengen. Hm.

Bei den meisten Verfahren muesste man auch testen, ob sie mit IDNs zurecht kommen. Die oben tut's jedenfalls nicht. :)

Es gibt auch ein eigenes CPAN:Email::Find Modul, das wohl relativ raffiniert versucht, Message-IDs und anderes, was einer E-Mail-Adresse aehnlich sieht, auszuschliessen. Waere vielleicht auch einen Test wert.

View full thread Programm zum Suchen von Emailadressen in Textdatei