Fortgeschrittene Suche mit Grep und Regex
Wenden Sie mit „grep“ komplexe Regex-Muster an, um äußerst gezielt und effizient in Dateien nach Text zu suchen.
Fortgeschrittene Suche mit Grep und Regex ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Die Regex-Superkräfte von grep
Willkommen bei „Erweitertes grep mit Regex“! In der vorherigen Lektion haben wir reguläre Ausdrücke (Regex) selbst kennengelernt. Jetzt erschließen wir ihr gesamtes Potenzial innerhalb des leistungsstarken Befehls grep.
grep ist Ihr wichtigstes Werkzeug, um in Dateien nach Textmustern zu suchen. In Kombination mit erweiterten regulären Ausdrücken können Sie genau das finden, wonach Sie suchen, ganz gleich, wie komplex das Muster ist.
Erweiterte reguläre Ausdrücke aktivieren (-E)
Standardmäßig verwendet grep Basic Regular Expressions (BRE). Um erweiterte Funktionen wie +, ?, | und () zu verwenden, müssen wir Extended Regular Expressions (ERE) aktivieren.
Dies können Sie mit der Option -E tun oder mit dem Befehl egrep, der im Wesentlichen grep -E entspricht. Erstellen wir eine Beispieldatei, mit der wir arbeiten können:
echo "apple
banana
appanana
orange
app" > fruits.txtQuantifizierer: Eins oder mehr (+)
Der Quantifizierer + findet ein oder mehr Vorkommen des davor stehenden Zeichens oder der davor stehenden Gruppe. Er ist besonders nützlich, wenn Sie erwarten, dass sich ein Muster mindestens einmal wiederholt.
Um beispielsweise Zeilen zu finden, in denen auf „p“ ein oder mehr „a“ folgen, würden wir pa+ verwenden.
grep -E 'pa+' fruits.txtQuantifizierer: Null oder mehr (*)
Der Quantifizierer * findet null oder mehr Vorkommen des davor stehenden Zeichens oder der davor stehenden Gruppe. Das ist nützlich, wenn ein Zeichen vorkommen kann, aber nicht zwingend erforderlich ist.
Suchen wir nach Zeilen, in denen auf „b“ null oder mehr „a“ folgen:
grep -E 'ba*' fruits.txtQuantifizierer: Null oder eins (?)
Der Quantifizierer ? findet null oder ein Vorkommen des davor stehenden Zeichens oder der davor stehenden Gruppe. Sie können ihn sich so vorstellen, dass er ein Zeichen optional macht.
Möchten Sie sowohl „color“ als auch „colour“ finden? Sie können das „u“ optional machen:
echo "color
colour
coor" > words.txt
grep -E 'colou?r' words.txtBestimmte Anzahlen mit {} (geschweifte Klammern)
Für noch mehr Kontrolle können Sie mit geschweiften Klammern {} genaue Anzahlen oder Bereiche angeben:
a{3}: Genau drei „a“.a{2,}: Zwei oder mehr „a“.a{1,3}: Zwischen einem und drei „a“.
Suchen wir nach Zeilen, in denen „a“ genau zweimal vorkommt:
grep -E 'a{2}' fruits.txtAnker: Anfang und Ende (^, $)
Anker finden keine Zeichen, sondern Positionen. Der Anker ^ findet den Anfang einer Zeile, und $ findet das Ende einer Zeile.
Das ist entscheidend, wenn Ihr Muster die gesamte Zeile finden oder genau an der gewünschten Stelle beginnen beziehungsweise enden soll.
^apple: Zeilen, die mit „apple“ beginnen.banana$: Zeilen, die mit „banana“ enden.^apple$: Zeilen, die ausschließlich „apple“ enthalten.
grep -E '^app' fruits.txtAlternativen mit OR (|)
Das Symbol | (Pipe) fungiert als OR-Operator. Es ermöglicht, entweder das eine ODER das andere Muster zu finden. Das ist besonders nützlich, wenn Sie gleichzeitig nach mehreren unterschiedlichen Wörtern oder Ausdrücken suchen möchten.
Um beispielsweise Zeilen zu finden, die entweder „apple“ oder „orange“ enthalten:
grep -E 'apple|orange' fruits.txtMuster mit () gruppieren
Mit runden Klammern () werden Teile eines regulären Ausdrucks gruppiert. Dadurch können Sie Quantifizierer oder Alternativen auf eine gesamte Gruppe anwenden und nicht nur auf ein einzelnes Zeichen.
Um beispielsweise zu finden, dass „ana“ nach „b“ ein oder mehrmals vorkommt:
grep -E 'b(ana)+' fruits.txtSchnelltest: Erweitertes grep
Die Datei data.txt enthält:
cat
cats
catt
catterpillar
dog
Welcher Befehl würde korrekt Zeilen finden, die „cat“ gefolgt von null oder mehr „t“ enthalten?
Zusammenfassung: Die Regex-Leistung von grep
Sie beherrschen nun fortgeschrittene grep-Techniken mit Extended Regular Expressions! Wir haben Folgendes behandelt:
- Verwendung von
-Efür Funktionen erweiterter regulärer Ausdrücke. - Quantifizierer:
+(eins oder mehr),*(null oder mehr),?(null oder eins) und{}für bestimmte Anzahlen. - Anker:
^(Zeilenanfang) und$(Zeilenende). - Alternativen mit
|für OR-Bedingungen. - Gruppierung von Mustern mit
().
Mit diesen Werkzeugen können Sie äußerst präzise und flexible Textsuchen durchführen und werden zu einem echten Kommandozeilenprofi!
Häufig gestellte Fragen
Ist die Lektion „Fortgeschrittene Suche mit Grep und Regex“ kostenlos?
Ja — der vollständige Text von „Fortgeschrittene Suche mit Grep und Regex“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Fortgeschrittene Suche mit Grep und Regex“?
Wenden Sie mit „grep“ komplexe Regex-Muster an, um äußerst gezielt und effizient in Dateien nach Text zu suchen. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Fortgeschrittene Suche mit Grep und Regex“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Einführung in reguläre Ausdrücke (Regex)
- Fortgeschrittene Suche mit Grep und Regex
- Regex mit sed/awk kombinieren
- Capture Groups, Backreferences und Substitution