CMD Master
Zurück zum Blog
Arnošt Havelka

grep, sort und wc in einem Befehl verketten

Zählen Sie passende Zeilen und filtern Sie eine sortierte Liste, indem Sie cat, grep, sort und wc kombinieren.

Interaktive Lektion starten
grep, sort und wc in einem Befehl verketten

Sobald grep, sort und wc jeweils Sinn ergeben, liegt die eigentliche Arbeit im Zusammensetzen. Eine Zeile kann Fehler aus einem Protokoll ziehen und zählen oder eine Benutzerliste sortieren und nur passende Namen behalten. Es gibt keinen besonderen „Ninja“-Befehl — nur Pipes.

Passende Zeilen zählen

Lesen Sie die Datei, behalten Sie das Muster, zählen Sie, was übrig bleibt:

Befehl ausprobieren

Filtern Sie eine Datei, dann zählen oder sortieren Sie!

Befehl zusammenstellen
cat
Terminal
~$cat data.log | grep 'ERROR' | wc -l
2

Wie viele ERROR-Zeilen?

Terminal
~$cat data.log | grep 'ERROR' | wc -l

grep ohne wc gibt weiterhin die passenden Zeilen aus. Fügen Sie wc -l hinzu, wenn Sie nur die Zahl brauchen.

Zuerst sortieren, dann filtern

Manchmal ist die Reihenfolge vor der Suche wichtig. Sortieren Sie die Datei und behalten Sie dann die Zeile, die Sie interessiert:

printf '%s\n' 'user: guest' 'user: root' 'user: admin' > logs.txt
cat logs.txt | sort | grep 'root'
Terminal
~$cat logs.txt | sort | grep 'root'

Lesen Sie von links nach rechts: Zeilen erzeugen, umwandeln, dann behalten oder zählen. Wenn eine Pipe falsch wirkt, führen Sie jedes Stück einzeln aus, bis die Ausgabe dem entspricht, was der nächste Befehl erwartet.


Wissenscheck

1 / 3

Was liefert cat data.log | grep 'ERROR' | wc -l?

Quellen

Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.

Nächstes

Dateieigentümer in Bash mit chown ändern

Ändere mit chown Eigentümer und Gruppe von Dateien oder Verzeichnissen, prüfe das Ergebnis und vermeide unsichere rekursive Änderungen.