Pipe mit Grep
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 46 von 82.
Der Befehl grep wird besonders leistungsfähig, wenn er mit Pipes kombiniert wird. Anstatt innerhalb einer Datei zu suchen, kannst du die Ausgabe jedes Befehls filtern, um genau das zu finden, was du brauchst.
Stell dir vor, du möchtest eine bestimmte Datei in einer Verzeichnisauflistung finden:
ls -l | grep "report"Dies listet alle Dateien detailliert auf und filtert dann, sodass nur Zeilen angezeigt werden, die „report“ enthalten. Du erhältst gezielte Ergebnisse, ohne alles manuell durchsuchen zu müssen.
Das Weiterleiten an grep funktioniert mit jedem Befehl, der eine Textausgabe erzeugt. Um laufende Prozesse zu finden, die sich auf ein bestimmtes Programm beziehen:
ps aux | grep "python"Du kannst grep auch mit anderen Befehlen verketten, die du gelernt hast. Um zu zählen, wie viele Zeilen ein bestimmtes Wort enthalten:
cat logfile.txt | grep "error" | wc -lDies liest die Datei ein, filtert nach Zeilen mit „error“ und zählt sie anschließend. Die zuvor gelernten grep-Optionen funktionieren in Pipes genauso: Verwende -i für eine Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung oder -v, um Übereinstimmungen auszuschließen.
Aufgabe
EinfachDie Datei access.log enthält Zugriffsprotokolle des Webservers. Verwende eine Pipe, um zu filtern und zu zählen, wie viele Anfragen mit dem Fehlerstatuscode 500 endeten.
Führe einen einzigen Befehl aus, der:
catverwendet, umaccess.logzu lesen- die Ausgabe mit
grepweiterleitet, um Zeilen mit500zu filtern - die Ausgabe mit
wc -lweiterleitet, um die übereinstimmenden Zeilen zu zählen
Hinweis: Verknüpfe die drei Befehle mit dem Symbol
|. Der grep-Befehl filtert die Ausgabe, undwc -lzählt die verbleibenden Zeilen.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-PipelineÜbe selbstständig: Terminal-Playground