Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Nachhilfe in regulären Ausdrücken gesucht.

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Lateralus
prolinux-forum-admin


Anmeldungsdatum: 05.05.2004
Beiträge: 1238

BeitragVerfasst am: 01. Jan 2009 23:35   Titel: Nachhilfe in regulären Ausdrücken gesucht.

Ich würde gerne mit grep eine Datei nach regulären Ausdrücken durchsuchen, die Versionsnummern von Programmen darstellen. Zeilen mit diesen Zeichenketten sollen z.B. gefunden werden:

Code:
programm-0.1.1d
programm-0.1
programm-1.5.6a


Nun dachte ich, dass der Befehl dafür, so aussehen muss:
Code:
grep -e "programm-[0123456789]+[[.][0123456789]+]*[abcdefghijklmnopqrstuvwxyz]?" <datei>


Aber ich bekomme die Fehlermeldung "Unmatched [ or [^" und damit kann ich nicht viel anfangen, außer, dass anscheinend die Verschachtung der eckigen Klammern nicht richtig ist - aber wie mache ich das sonst?
 
Benutzer-Profile anzeigen Private Nachricht senden

PDA
Gast





BeitragVerfasst am: 02. Jan 2009 0:48   Titel:

Spannender ist die Frage was es nicht finden darf.
Ich mache es einfach mal so da ich ja nicht genau weiß wie eine solche Datei aussehen kann.

programm-NUMMER PUNKT NUMMER danach egal

Code:
programm-[[:digit:]][.][[:digit:]]

Findet (Beispiel)
Code:

programm-0.1.1d
programm-0.1
programm-1.5_patch
programm-6.3r

Findet nicht (Beispiel)
Code:

programm-6.z
programm-9
programm-5..
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 02. Jan 2009 15:25   Titel:

[] ist keine Klammerebene, sondern eine Syntax für Zeichenklasse. Die kannst du nicht verschachteln! Wenn du schachteln willst, musst du die gewöhnlichen Klammern verwenden. Außerdem musst du Punkte maskieren.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

hastifranki



Anmeldungsdatum: 06.05.2006
Beiträge: 252

BeitragVerfasst am: 03. Jan 2009 10:38   Titel:

Hallo,

ich bin auf folgenden Befehl gekommen:

Code:
grep -E "programm-[0-9]\.[0-9](\.[0-9][a-z])?$" <datei>


Viele Grüße
Frank
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy