grep ist eines der wichtigsten Werkzeuge unter Linux.

Mit grep kannst du:

  • Text in Dateien durchsuchen
  • bestimmte Zeilen filtern
  • Muster (Patterns) erkennen
  • Logs analysieren
  • Daten schnell selektieren

👉 grep ist ein Filter:
Es gibt nur die Zeilen aus, die zu deinem Suchmuster passen.

🔹 Kompatibilität

Getestet mit GNU grep 3.x unter Ubuntu 22.04 und neuer.

Alle Befehle in diesem Kapitel funktionieren unter:

Ubuntu 22.04

Ubuntu 24.04

🔹 Erste Suche mit grep

Erstelle eine Testdatei:

cat > beispiel.txt <<'EOF'
Alice
Bob
Charlie
Bobette
EOF

Einfache Suche

Ausgabe:

Bob
Bobette

👉 grep sucht standardmäßig nach Teilstrings.
„Bobette“ enthält „Bob“ – deshalb wird die Zeile ebenfalls ausgegeben.

🔹 Groß- und Kleinschreibung ignorieren

Standardmäßig ist grep case-sensitive.

grep alice beispiel.txt

Keine Ausgabe.

Mit -i:

grep -i alice beispiel.txt

Ausgabe:

Alice

🔹 Zeilennummern anzeigen

Mit -n:

grep -n Bob beispiel.txt

Ausgabe:

2:Bob
4:Bobette

👉 Sehr hilfreich bei Log-Analysen.

🔹 Nur exakte Treffer

Wenn du nur „Bob“ willst – nicht „Bobette“:

grep -w Bob beispiel.txt

Ausgabe:

Bob

👉 -w sucht nur nach vollständigen Wörtern.

🔹 Treffer zählen

Mit -c:

grep -c Bob beispiel.txt

Ausgabe:

2

🔹 Nicht passende Zeilen anzeigen

Mit -v:

grep -v Bob beispiel.txt

Ausgabe:

Alice
Charlie

👉 -v kehrt die Suche um.

🔹 Mehrere Dateien durchsuchen

Erstelle eine zweite Datei:

cat > zweite.txt <<'EOF'
Server läuft
Bob ist online
Fehler gefunden
EOF

Suche in beiden Dateien:

grep Bob beispiel.txt zweite.txt

Ausgabe:

beispiel.txt:Bob
beispiel.txt:Bobette
zweite.txt:Bob ist online

👉 grep zeigt automatisch den Dateinamen an.

⚠️ Typischer Fehler

grep bob beispiel.txt

Keine Ausgabe.

Warum?

👉 grep unterscheidet Groß- und Kleinschreibung.
Lösung: -i

✅ Übung

Aufgabe 1

Suche in beispiel.txt nur nach „Charlie“.

Aufgabe 2

Zähle, wie oft „Bob“ vorkommt – ohne die Zeilen auszugeben.

Aufgabe 3

Gib nur die Zeilen aus, die nicht „Alice“ enthalten.

🧾 Zusammenfassung (Kapitel 1)

In diesem Kapitel hast du gelernt:

  • wie grep einfache Suchmuster verarbeitet
  • wie man Groß-/Kleinschreibung ignoriert (-i)
  • wie man Zeilennummern anzeigt (-n)
  • wie man Treffer zählt (-c)
  • wie man exakte Wörter sucht (-w)
  • wie man Treffer invertiert (-v)

👉 grep filtert Zeilen – mehr nicht.
Aber genau das macht es extrem leistungsfähig.

👉 Im nächsten Kapitel

  • Im nächsten Kapitel schauen wir uns an, wie grep mit regulären Ausdrücken arbeitet:
  • ^ und $
  • Zeichenklassen
  • . und *
  • Unterschiede zwischen normaler und erweiterter Suche (-E)

Damit beginnt der eigentliche Deep Dive.