Page 1 of 1

regex hilfe

Posted: 2004-02-26 11:41
by valhalla
Hallo @all

ich habe ein Problem mit regex, ich habe ca. 2500 zeilen in einer Datei nach diesem Muster

uniquemember: uid=igelchen72@aol.com,cn=users,dc=virtuelle-apotheke,dc=de

ich möchte nun mittels grep mir aus dieser datei nur die e-mail adressen raussuchen lassen bekomme es aber nicht gebacken :( hab wenig erfahrung mit regex. kann mir jemand auf die Sprünge helfen ich versuche es jetzt schon geschlagene 2 Stunden :roll: wäre für jede hilfe dankbar.

Alle meine Kobinationen mit regex. liefern mir entweder nichts oder die Komplette Zeile :(

Re: regex hilfe

Posted: 2004-02-26 12:16
by dodolin
Nicht optimal:

/^uniquemember: uid=(.*),.*/

Unter der Voraussetzung, dass keine Mail-Adresse ein Komma enthält. In $1 stünde dann in Perl die Mailaddy.

Re: regex hilfe

Posted: 2004-02-26 13:43
by valhalla
dodolin wrote:Nicht optimal:

/^uniquemember: uid=(.*),.*/

Unter der Voraussetzung, dass keine Mail-Adresse ein Komma enthält. In $1 stünde dann in Perl die Mailaddy.
Hi

also ich habe das jetzt mal so probiert aber da passiert nichts
root@db1 ~/rukl
# ./nl_dd_html.sh |grep '/^uniquemember: uid=(.*),.*/'

root@db1 ~/rukl
#

:(

hast du noch eine andere Idee?

TIA

Re: regex hilfe

Posted: 2004-02-26 13:45
by captaincrunch
Mit grep kommst du dabei nicht weit. sed ist dein Freund. ;)

Re: regex hilfe

Posted: 2004-02-26 13:53
by valhalla
CaptainCrunch wrote:Mit grep kommst du dabei nicht weit. sed ist dein Freund. ;)
sed ist mein freund wusste ich gar nicht :wink:

mh also ich habs mit sed probiert aber da passiert genauso wenig

root@db1 ~/rukl
# cat testfile |sed -e '/^uniquemember: uid=(.*),.*/'
sed: -e expression #1, char 28: Missing command


:cry:

bin ich doof?

Re: regex hilfe

Posted: 2004-02-27 14:12
by rob
Haste Perl auf deinem System?

--- schnipp ---

Code: Select all

#!/usr/bin/perl -w
#

while(<>)
         {
         if(m/uid=([^,]*),/)
                 {
                 print "$1n";
                 }
         }

exit(0);

--- schnapp ---

~# chmod u+x <OBIGES SKRIPT>
~# cat testfile | <OBIGES SCRIPT>

Re: regex hilfe

Posted: 2004-03-01 16:14
by valhalla
rob wrote:Haste Perl auf deinem System?

--- schnipp ---

Code: Select all

#!/usr/bin/perl -w
#

while(<>)
         {
         if(m/uid=([^,]*),/)
                 {
                 print "$1n";
                 }
         }

exit(0);

--- schnapp ---

~# chmod u+x <OBIGES SKRIPT>
~# cat testfile | <OBIGES SCRIPT>
Hi vielen vielen Dank !

hast mir echt geholfen :-D wollte mich eigentlich schon früher bedanken aber die Zeit!
Hab mir nun das Buch Einführung in Perl bestellt aus dem O´Reilly Verlag es geht einfach nicht mehr ohne Script bzw. Programmiersprache.
Danke nochmal!

Gruss Christian