sort, uniq und cut sind das Standard-Trio der Shell, um Textdateien zu ordnen, Duplikate zu entfernen und Spalten herauszuschneiden. Zusammen ersetzen sie viele kleine Tabellenkalkulations-Schritte direkt im Terminal.
sort: Zeilen ordnen
sort namen.txt # alphabetisch sortieren
sort -n zahlen.txt # numerisch sortieren
sort -r namen.txt # absteigend
sort -k2 mitarbeiter.txt # nach 2. Spalte sortieren
sort -h groessen.txt # Größen wie 1K, 2M, 3G korrekt ordnen
uniq: Duplikate entfernen und zählen
sort namen.txt | uniq # Duplikate entfernen (Eingabe muss sortiert sein)
sort namen.txt | uniq -c # mit Anzahl je Eintrag
sort namen.txt | uniq -d # nur Zeilen, die mehrfach vorkommen
sort namen.txt | uniq -u # nur Zeilen, die genau einmal vorkommen
cut: Spalten ausschneiden
cut -d: -f1 /etc/passwd # Feld 1, getrennt durch ':'
cut -d, -f2,3 export.csv # Felder 2 und 3 aus einer CSV
cut -c1-10 datei.txt # die ersten 10 Zeichen je Zeile
ps aux | tr -s ' ' | cut -d' ' -f2 # PID-Spalte
Typische Kombination
cut -d' ' -f1 zugriffe.log | sort | uniq -c | sort -rn # häufigste Einträge
history | awk '{print $2}' | sort | uniq -c | sort -rn | head -20
Praxis-Tipps
uniqvergleicht nur benachbarte Zeilen — ohnesortdavor werden nicht alle Duplikate entfernt.sort -t:setzt ein eigenes Trennzeichen für-k-Sortierungen, z. B.sort -t: -k3 -n /etc/passwd.cutkann keine variablen Trennzeichen wie mehrere Leerzeichen — vorher mittr -s ' 'bündeln.- Für Log-Analysen ist die Kette
sort | uniq -c | sort -rnder Klassiker, um Ranglisten zu bauen.
Verwandte Grundlagen: awk-Befehle, Bash-Befehle und grep-Befehle.