PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RegEx Syntax von grep?



LeoManiac
29-12-2005, 11:23
Servus,

ich versuche grad RegEx in Shell-Scripts zu verwenden und dachte mir dazu wäre Grep doch Ideal zu geeignet doch leider komm ich damit überhaupt nicht zurecht ich hab zwar das Buch "Reguläre Ausdrücke" vom O'REILY Verlag da aber irgendwie wird doch nicht auf den Grep Dialekt drauf eingegangen.

Ich hatte schon sowas in der richtung probiert aber anscheinend ist der Grep Dialekt komplett anders

echo "1:02:03:04" | grep ^(\d):

Kennt dazu vielleicht wer ein Links, Tutorials oder sonstiges?
Ist Grep dazu über der richtige Ansatz?

peschmae
29-12-2005, 16:03
Hallo,

erst mal müsstest du sagen was dein Ausdruck da genau machen soll ;)
Grundsätzlich unterscheidet sich das Zeugs aber nicht sehr stark von anderen Regexp Dialekten.

Auf jeden Fall zwei wichtige Dinge:
- mach einfache Anführungszeichen ' um die Ausdrücke die du bei Grep hinschreibst - dann ersetzt die shell nicht kreuz und quer in dem Zeugs rum
- grep -E bzw. grep -P weist grep an Extended bzw. Perl-Style Regexps zu verstehen (guck mal in die Manpage von Grep, dort ist das ausführlichst beschrieben)

MfG Peschmä

LeoManiac
29-12-2005, 20:49
Ich versuche den String anhand der Doppelpunkte zu splitten..

Das ist mit Extendet bzw. Perl RegEx wäre schon mal ein guter Ansatz mal etwas probieren damit.

peschmae
29-12-2005, 20:53
Splitten? Also was soll dabei genau rauskommen am Ende?

Grep ist eigentlich mehr um Zeilen zu finden (in Dateien) oder so.

MfG Peschmä

SeeksTheMoon
31-12-2005, 13:30
grep ist für Zeilenoperationen; mit cut kannst Du Spaltenoperationen machen.
cut -d: splittet nach Doppelpunkten, Du kannst Dir die einzelnen Felder dann mit -f<zahl> angeben lassen