Startseite > Textverarbeitung & Suche > sort

sort: Textdateien sortieren

Der Befehl `sort` ist ein leistungsstarkes Dienstprogramm, das zum Sortieren des Inhalts von Textdateien zeilenweise verwendet wird. Sie können nach verschiedenen Kriterien sortieren, z. B. alphabetisch, numerisch oder monatlich. Insbesondere die Option `-n` ist sehr nützlich für Logdateien oder die Datenanalyse, da sie Zahlen als tatsächliche numerische Werte und nicht als Zeichenfolgen erkennt und somit korrekt sortiert.

Ü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`.

Gleiche Kategorie Befehle