Zeilen einer Datei zählen und nach Häufigkeit sortieren

Was ein wenig wie eine Excel Problemstellung klingt, erledigt der geübte GNU / Linux Anwender in der Shell schnell und einfach mit den GNU coreutils sort und uniq. Mit den beiden Anwendungen lassen sich zwar noch jede Menge weiterer Probleme lösen, aber da ich dieses Kommando in den letzten Jahren gefühlt recht häufig gebraucht habe, möchte ich es hier kurz festhalten.

Als Beispiel dient eine Textdatei mit folgendem Inhalt:

Was hier ein paar Farben sind, können in der Praxis Ausschnitte aus Log-Dateien, Spalten von CSV Dateien oder Ähnliches sein. Möchte man nun die Häufigkeiten der Farben zählen und entsprechend sortieren, muss zuerst die Datei selbst sortiert werden ( sort testfile.txt). Die Zeilen werden gezählt und doppelte Einträge entfernt ( uniq -c), die Häufigkeit wird an den Anfang der Zeile geschrieben. Am Ende wird das Ergebnis noch einmal nach der Häufigkeit, die am Anfang der Zeile steht, in absteigender Reihenfolge sortiert ( sort -nr).

Das vollständige Kommando ist eigentlich recht überschaubar und liefert folgendes Ergebnis:

Ein Gedanke zu „Zeilen einer Datei zählen und nach Häufigkeit sortieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.