Übersicht
Der Befehl `sort` ordnet jede Zeile einer Textdatei nach einem angegebenen Kriterium neu an und gibt sie an die Standardausgabe aus. Standardmäßig wird alphabetisch sortiert, aber mit verschiedenen Optionen können Sie nach Zahlen, Monaten, bestimmten Feldern usw. sortieren. Insbesondere die Option `-n` ist unerlässlich, um Zahlen als tatsächliche numerische Werte und nicht als Zeichenfolgen zu erkennen und korrekt zu sortieren.
Hauptfunktionen
- Zeilenweise Sortierung von Textdateien
- Unterstützung verschiedener Sortierkriterien wie alphabetisch, numerisch, monatlich
- Funktionen zur Entfernung von Duplikaten und zur Sortierung nach bestimmten Feldern
- Verarbeitung von Standardeingabe und Dateieingabe möglich
Wichtige Optionen
Der Befehl `sort` unterstützt eine Vielzahl von Optionen, um leistungsstarke Sortierfunktionen bereitzustellen. Hier sind die am häufigsten verwendeten Optionen.
Sortierkriterien
Ausgabe und Sonstiges
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`sort` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Hier sind einige praktische Anwendungsbeispiele für den Befehl `sort` und seine wichtigsten Optionen.
Grundlegende numerische Sortierung
cat numbers.txt
# Beispielausgabe:
# 10
# 2
# 1
# 20
sort -n numbers.txt
# Erwartete Ausgabe:
# 1
# 2
# 10
# 20
Sortiert den Inhalt der Datei numbers.txt numerisch aufsteigend.
Umgekehrte numerische Sortierung
sort -nr numbers.txt
# Erwartete Ausgabe:
# 20
# 10
# 2
# 1
Sortiert den Inhalt der Datei numbers.txt numerisch absteigend.
Sortierung nach einem bestimmten Feld (numerisch)
cat data.csv
# Beispielausgabe:
# apple,100,red
# banana,20,yellow
# cherry,50,red
sort -t, -nk2 data.csv
# Erwartete Ausgabe:
# banana,20,yellow
# cherry,50,red
# apple,100,red
Sortiert die Datei data.csv numerisch nach dem zweiten Feld, getrennt durch Kommas (,).
Numerische Sortierung mit Entfernung von Duplikaten
cat numbers_dup.txt
# Beispielausgabe:
# 10
# 2
# 1
# 20
# 2
sort -nu numbers_dup.txt
# Erwartete Ausgabe:
# 1
# 2
# 10
# 20
Sortiert den Inhalt der Datei numbers_dup.txt numerisch und entfernt doppelte Zeilen.
Speichern des Sortierergebnisses in einer Datei
sort -n input.txt -o sorted_numbers.txt
cat sorted_numbers.txt
Sortiert den Inhalt der Datei input.txt numerisch und speichert das Ergebnis in der Datei sorted_numbers.txt.
Tipps & Hinweise
Der Befehl `sort` ist sehr leistungsfähig, kann aber bei falscher Anwendung zu unerwarteten Ergebnissen führen. Beachten Sie die folgenden Tipps und Hinweise, um ihn effizient zu nutzen.
Nützliche Tipps
- `sort` führt standardmäßig eine stabile Sortierung durch. Das bedeutet, dass die relative Reihenfolge von Datensätzen mit demselben Schlüssel beibehalten wird.
- Bei Verwendung der Option `-k` beginnt die Feldnummer bei 1.
- Beim Sortieren großer Dateien kann die Angabe eines temporären Verzeichnisses mit der Option `-T` die Leistung verbessern.
- Wird häufig in Kombination mit Pipes (`|`) verwendet, um die Ausgabe anderer Befehle zu sortieren. (z. B. `ls -l | sort -nk5`)
Hinweise
- Wenn Sie Zahlen ohne die Option `-n` sortieren, werden sie alphabetisch sortiert, z. B. kommt '10' vor '2', was zu unerwarteten Ergebnissen führen kann. Verwenden Sie immer `-n` für die numerische Sortierung.
- Die Sortierreihenfolge kann je nach Ländereinstellung (locale) variieren. Für konsistente Ergebnisse können Sie die Ländereinstellung explizit festlegen, z. B. mit `LC_ALL=C sort`.