Überblick über sort
`sort`-Befehl vergleicht standardmäßig jede Zeile vollständig und sortiert sie in ASCII-Zeichenfolge (lexikografisch), bevor es das Ergebnis an die Standardausgabe sendet. Die Originaldatei bleibt unverändert, und um die Änderungen in einer Datei zu speichern, muss eine Umleitung (`>`) verwendet werden.
Hauptfunktionen von sort
`sort`-Befehl wird hauptsächlich für folgende Zwecke verwendet:
Hauptanwendungsgebiete
- Daten sortieren: Sortiert Logdateien, Datenlisten, Benutzerlisten usw. nach bestimmten Kriterien, um die Lesbarkeit zu erhöhen.
- Duplikate entfernen: Ermöglicht das einfache Entfernen von doppelten Zeilen basierend auf sortierten Daten. (Verwendung mit `uniq`)
- Berichte erstellen: Sortiert Daten nach bestimmten Feldern, um sie in einer leicht analysierbaren Form zu präsentieren.
- Dateivergleich: Kann verwendet werden, um den Inhalt von zwei Dateien zu sortieren, bevor sie verglichen werden.
Grundprinzip der Sortiermethode
`sort` vergleicht standardmäßig ab dem ersten Zeichen jeder Zeile basierend auf den Zeichenkodierungswerten (ASCII-Werten). Auch Zahlen werden als Strings behandelt, was zu unerwarteten Ergebnissen führen kann, wie zum Beispiel, dass '10' vor '2' kommt. Um dies zu vermeiden, sollten Sie die Sortieroption für Zahlen verwenden.
Wichtige Optionen des sort-Befehls
`sort`-Befehl bietet verschiedene Optionen, um Sortierkriterien, Reihenfolge und die Behandlung von Duplikaten präzise zu steuern.
1. Sortierkriterien und Reihenfolge
2. Optionen zur Behandlung von Duplikaten und Leerzeichen
3. Optionen für Ausgabe und Trennzeichen
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.
Beispielanwendungen
Lernen Sie, wie Sie Textdaten effizient sortieren und analysieren, indem Sie verschiedene Anwendungsbeispiele des `sort`-Befehls kennenlernen.
Basis-Sortierung von Dateiinhalten
echo -e "Charlie\nAlice\nBob" > names.txt
sort names.txt
Sortiert die Zeilen der Datei `names.txt` in alphabetischer Reihenfolge (aufsteigend).
Umgekehrte (absteigende) Sortierung von Dateiinhalten
echo -e "10\n2\n100" > numbers.txt
sort -r numbers.txt
Sortiert die Zahlen in der Datei `numbers.txt`, indem sie als Strings betrachtet werden, in umgekehrter Reihenfolge.
Sortierung nach numerischen Werten
echo -e "20 Bob\n10 Alice\n100 Charlie" > scores.txt
sort -n scores.txt
Sortiert die Punkte in der Datei `scores.txt` (erstes Feld) in aufsteigender Reihenfolge nach tatsächlichen numerischen Werten.
Sortierung nach der zweiten Spalte (Namen) einer CSV-Datei
echo -e "1,Bob,Seoul\n3,Alice,Busan\n2,Charlie,Jeju" > users.csv
sort -t',' -k 2 users.csv
Sortiert die zweite Spalte (Namen) in der durch Kommas (`,`) getrennten Datei `users.csv`.
Duplikate nach der Sortierung entfernen
echo -e "apple\nbanana\napple\ncherry" > duplicates.txt
sort -u duplicates.txt
Sortiert den Inhalt der Datei `duplicates.txt` und entfernt doppelte Zeilen, indem nur eine übrig bleibt.
Sortierungsergebnisse in einer neuen Datei speichern
echo -e "Zebra\nCat\nDog" > unsorted.txt
sort unsorted.txt -o sorted.txt
Sortiert den Inhalt der Datei `unsorted.txt` und speichert das Ergebnis in der Datei `sorted.txt`. Die Originaldatei bleibt unverändert.
Sortierung nach menschlich lesbaren Größen
echo -e "10K file1\n2M file2\n500K file3\n1G file4" > sizes.txt
sort -h sizes.txt
Sortiert eine Liste von Dateigrößen unter Berücksichtigung menschenlesbarer Einheiten (K, M, G). Nützlich zum Sortieren von Ausgaben wie `du -h`.