Regular Expressions


Reguläre Ausdrücke (Regular Expressions) erlauben es dir, Muster in Text zu beschreiben. Sie werden überall in der Shell verwendet, besonders mit grep, sed und awk.

Übereinstimmung mit grep

grep sucht Zeilen, die mit einem Muster übereinstimmen:

echo "apple banana cherry" | grep apple

Gibt die gesamte Zeile aus, weil sie apple enthält:

apple banana cherry

Anker

^ verankert ein Muster am Zeilenanfang, $ am Zeilenende:

echo "apple" | grep "^a"   # Zeilen, die mit 'a' beginnen
echo "apple" | grep "e$"   # Zeilen, die mit 'e' enden

Zeichenklassen

Eckige Klammern passen auf jedes einzelne Zeichen aus der Menge. Bereiche werden mit einem Bindestrich geschrieben, z.B. [0-9] für jede Ziffer und [a-z] für jeden Kleinbuchstaben.

Quantifizierer

* bedeutet "null oder mehr", + bedeutet "eins oder mehr" und ? bedeutet "null oder eins":

echo "color" | grep -E "colou?r"   # passt auf color oder colour
echo "colour" | grep -E "colou?r"

Exercise

Vervollständige das grep unten so, dass es nur die Zeile ausgibt, die mit dem Buchstaben a beginnt.


Copyright © learnshell.org. Read our Terms of Use and Privacy Policy