Lehrer Nussbaumer - Linux bash-Programmierung |
---|
GrundlagenDatenstrukturenProgrammstrukturenBeispiele----------------- letzte Änderung: 09 December 2021 ----------------- Lehrer Nussbaumers Seite ... in Arbeit ... |
Reguläre Ausdrücke (regular expressions)Reguläre Ausdrücke legen bestimmte Muster fest, die von Textdaten erfüllt werden müssen. Einige grundlegende Funktionsweisen werden in den folgenden Beispielen vorgestellt. BeispieleWir untersuchen den Inhalt eines Verzeichnisses mit Hilfe des Befehles "ls" und leiten die Ausgabe durch "grep": alfred@newbie:~/bash/beispiele > ls | grep [f] feld1 feld2 feld3 feldfor alfred@newbie:~/bash/beispiele > ls | grep [fv] feld1 feld2 feld3 feldfor variable view alfred@newbie:~/bash/beispiele > ls | grep fv "grep" gleicht die Ausgabe von "ls" mit allen Zeichen ab, die innerhalb der eckigen Klammern angegeben werden. Daher werden zunächst alle Dateinamen ausgegeben, die (wenigstens) ein "f" enthalten. Die zweite Abfrage wählt alle Dateinamen aus, die entweder ein "f" oder ein "v" enthalten. Die letzte Abfrage sucht nach allen Dateinamen, die den Teilstring "fv" enthalten (diese Suche ist offensichtlich leer). Mit dem regulären Ausdruck [Buchstabe - Buchstabe] werden alle Dateinamen angezeigt, die einen Buchstaben enthalten, der im angegebenen Bereich liegt: alfred@newbie:~/bash/beispiele > ls | grep [a-c] auswahl1 auswahl2 beispiel1 eingabe variable Ein dem ersten Buchstaben vorangestelltes "^" (Caret) legt fest, dass der Ausdruck allen Zeichen außer den angeführten passen muss (hier müssen also irgendwelche Zeichen außer Kleinbuchstaben auftreten): alfred@newbie:~/bash/beispiele > ls | grep [^a-z] auswahl1 auswahl2 beispiel1 feld1 feld2 feld3 string1 Ein dem Operator "$" vorausgehender Ausdruck passt auf das Zeilenende: alfred@newbie:~/bash/beispiele > ls | grep [e]$ eingabe variable alfred@newbie:~/bash/beispiele > ls | grep [1e]$ auswahl1 beispiel1 eingabe feld1 string1 variable Reguläre Ausdrücke können in weiten Bereichen kombiniert werden: alfred@newbie:~/bash/beispiele > ls | grep 'feld[1-3]' feld1 feld2 feld3 alfred@newbie:~/bash/beispiele > ls | grep 'feld[^1-3]' feldfor Elemente für reguläre Ausdrücke
Verschiedene Anwendungen (perl, Dienstprogramme, XML-Schema, etc. ) verwenden geringfügig voneinander abweichende Muster für reguläre Ausdrücke. |