Befehlsausgabe durch eine Pipe schicken
Nutzen Sie |, um einen Befehl in den nächsten zu speisen, und verketten Sie dann grep und wc.
Interaktive Lektion startenEine Pipe | nimmt die Ausgabe des Befehls links und verwendet sie als Eingabe rechts. Sie müssen keine Wegwerfdateien mehr speichern, nur um sie zu filtern.
Eine Auflistung filtern: ls | grep
ls gibt Namen aus. grep behält die Zeilen, die Sie interessieren. Zusammen:
Behalten Sie aus ls nur passende Namen!
Die Textdateien behalten:
> schreibt in eine Datei. | schreibt in einen anderen Befehl. Die beiden zu verwechseln ist der übliche erste Fehler.
Drei Befehle verketten
Sie können mehr als einmal pipen. Zählen Sie passende Zeilen, ohne das Protokoll zu öffnen:
printf '%s\n' 'info: started' 'warn: slow' 'warn: timeout' > log.txt
cat log.txt | grep warn | wc -l
cat gibt die Datei aus, grep behält Warnzeilen, wc -l zählt sie.
Bauen Sie Pipes von links nach rechts: Daten erzeugen, filtern, dann zusammenfassen.
Wissenscheck
1 / 3Was macht der Operator |?
Quellen
Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.
Nächstes
Finden Sie passende Zeilen in einer Datei und ignorieren Sie die Groß-/Kleinschreibung mit grep -i.