Menu
Coddy logo textTech

Pipe mit Grep

Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 46 von 82.

Der grep-Befehl wird besonders mächtig, wenn er mit Pipes kombiniert wird. Statt in einer Datei zu suchen, können Sie die Ausgabe eines beliebigen Befehls filtern, um genau das zu finden, was Sie brauchen.

Stellen Sie sich vor, Sie möchten eine bestimmte Datei in einer Verzeichnisliste finden:

ls -l | grep "report"

Dies listet alle Dateien im Detail auf, filtert dann, um nur Zeilen anzuzeigen, die „report“ enthalten. Sie erhalten gezielte Ergebnisse, ohne alles manuell durchsuchen zu müssen.

Die Weiterleitung an grep funktioniert mit jedem Befehl, der Textausgabe erzeugt. Um laufende Prozesse zu einem bestimmten Programm zu finden:

ps aux | grep "python"

Sie können grep auch mit anderen Befehlen verknüpfen, die Sie gelernt haben. Um zu zählen, wie viele Zeilen ein bestimmtes Wort enthalten:

cat logfile.txt | grep "error" | wc -l

Dies liest die Datei, filtert Zeilen mit „error“ heraus und zählt sie dann. Die grep-Flags, die Sie zuvor gelernt haben, funktionieren in Pipes genauso — verwenden Sie -i für groß-/kleinschreibungsunabhängige Übereinstimmungen oder -v, um Übereinstimmungen auszuschließen.

challenge icon

Aufgabe

Einfach

Die Datei access.log enthält Zugriffsprotokolle des Webservers. Verwenden Sie eine Pipe, um zu filtern und zu zählen, wie viele Anfragen zu einem 500 Fehlerstatuscode geführt haben.

Führen Sie einen einzelnen Befehl aus, der:

  • Verwendet cat, um access.log zu lesen
  • Leitet an grep weiter, um Zeilen zu filtern, die 500 enthalten
  • Leitet an wc -l weiter, um die Anzahl der passenden Zeilen zu zählen

Hinweis: Verketten Sie die drei Befehle mit dem Symbol |. Der grep-Befehl filtert die Ausgabe, und wc -l zählt die verbleibenden Zeilen.

Spickzettel

Der grep-Befehl kann die Ausgabe anderer Befehle mit Pipes (|) filtern.

Verzeichnislisten filtern:

ls -l | grep "report"

Laufende Prozesse filtern:

ps aux | grep "python"

Mehrere Befehle verketten, um zu filtern und zu zählen:

cat logfile.txt | grep "error" | wc -l

Alle grep-Flags funktionieren in Pipes, wie z. B. -i für groß-/kleinschreibungsunabhängige Übereinstimmungen und -v, um Übereinstimmungen auszuschließen.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen