Schrift
[thread]6689[/thread]

Programm zum Suchen von Emailadressen in Textdatei

Leser: 1


<< >> 8 Einträge, 1 Seite
renee
 2005-02-03 13:03
#51551 #51551
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
http://board.perl-community.de/cgi-bin....4;t=225\n\n

<!--EDIT|renee|1107428606-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2005-02-03 14:12
#51552 #51552
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
my @emails;
open(FILE,"<$file") or die $!;
while(my $line = <FILE>){
if($line =~ /([^\s]+\@[a-zA-Z0-9\-\.]+)/ ){
push(@emails,$1);
}
}
close FILE;
print $_,"\n" for(@emails);
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2005-02-04 02:28
#51553 #51553
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Dubu,03.02.2005, 21:08]@renee: Das findet nur eine E-Mail-Adresse pro Zeile. Und warum speicherst du alle Adressen zwischen, bevor du sie ausgibst?[/quote]
Es sollte auch mehr ein Ansatz als eine komplette Lösung sein... Warum ich zwischenspeichere? Häufig sollen gefundene Textstellen weiter bearbeitet werden, so dass häufig die Zwischenspeicherung notwendig ist!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2005-02-04 13:49
#51554 #51554
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
*verschieb* hat nix mit dem Betriebssystem Linux zu tun, sondern ist eine Perl-Frage...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2005-02-03 12:59
#51555 #51555
Hi,

ich suche ein Programm mit dem man leicht Emailadressen aus einer Textdatei auslesen kann. Die Ausgabe soll dann auch wieder ne Textdatei sein. Leider bin ich nicht gerade Perl bewandert aber evtl. gibts ja schon ein Programm in diese Richtung?

bin für jede hilfe dankbar.

Gruß Ingo
Savar
 2005-02-03 14:01
#51556 #51556
User since
2005-02-03
1 Artikel
BenutzerIn
[default_avatar]
hmm wenn ich grep und den regulären ausdruck / ([^ ]+\@[a-z0-9\-\.]+)/ nehme komm ich zumindest nicht zu dem ergebnis was ich möchte :/
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.
Dubu
 2005-02-04 13:42
#51558 #51558
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ah, okay. Da in diesem Fall direkt nach "Ausgabe soll dann auch wieder ne Textdatei sein" gefragt war, hielt ich das fuer ueberfluessig. Zu oft wird so eine Loesung dann unreflektiert uebernommen, spaeter benutzt, um Strings aus einem 4-GB-Logfile zu holen, und dann kommt das Erstaunen, dass Perl so viel Speicher frisst. ;)
<< >> 8 Einträge, 1 Seite



View all threads created 2005-02-03 13:03.