Bash
Sortierung verwenden
Suche…
Einführung
sort ist ein Unix-Befehl, um Daten in einer oder mehreren Dateien in einer Reihenfolge anzuordnen.
Syntax
- sort [Dateiname]
Parameter
Möglichkeit | Bedeutung |
---|---|
-u | Machen Sie jede Ausgabezeile eindeutig |
Bemerkungen
Vollständige Bedienungsanleitung sort
Lesung Online
Ausgabe des Sortierbefehls
sort
wird zum Sortieren einer Zeilenliste verwendet.
Eingabe aus einer Datei
sort file.txt
Eingabe von einem Befehl
Sie können jeden Ausgabebefehl sortieren. Im Beispiel eine Liste der Dateien, die einem Muster folgen.
find * -name pattern | sort
Machen Sie die Ausgabe einzigartig
Wenn jede Zeile der Ausgabe eindeutig sein muss, fügen Sie die Option -u
.
Um den Besitzer der Dateien im Ordner anzuzeigen
ls -l | awk '{print $3}' | sort -u
Numerische Sortierung
Angenommen, wir haben diese Datei:
test>>cat file
10.Gryffindor
4.Hogwarts
2.Harry
3.Dumbledore
1.The sorting hat
Um diese Datei numerisch zu sortieren, verwenden Sie sort mit der Option -n:
test>>sort -n file
Dies sollte die Datei wie folgt sortieren:
1.The sorting hat
2.Harry
3.Dumbledore
4.Hogwarts
10.Gryffindor
Sortierung umkehren: Um die Sortierung umzukehren, verwenden Sie die Option -r
Um die Sortierreihenfolge der obigen Datei umzukehren, verwenden Sie Folgendes:
sort -rn file
Dies sollte die Datei wie folgt sortieren:
10.Gryffindor
4.Hogwarts
3.Dumbledore
2.Harry
1.The sorting hat
Nach Schlüssel sortieren
Angenommen, wir haben diese Datei:
test>>cat Hogwarts
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Hermione Goyle Lockhart Tonks
Ron Snape Olivander Newt
Ron Goyle Flitwick Sprout
Um diese Datei mit einer Spalte als Schlüssel zu sortieren, verwenden Sie die Option k:
test>>sort -k 2 Hogwarts
Dadurch wird die Datei mit Spalte 2 als Schlüssel sortiert:
Ron Goyle Flitwick Sprout
Hermione Goyle Lockhart Tonks
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Wenn wir nun die Datei mit einem Sekundärschlüssel zusammen mit dem Primärschlüssel sortieren müssen, verwenden Sie:
sort -k 2,2 -k 1,1 Hogwarts
Dadurch wird zunächst die Datei mit Spalte 2 als Primärschlüssel und dann mit Sekundärschlüssel mit Spalte 1 sortiert:
Hermione Goyle Lockhart Tonks
Ron Goyle Flitwick Sprout
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Wenn Sie eine Datei mit mehr als einem Schlüssel sortieren müssen, müssen Sie für jede Option -k angeben, wo die Sortierung endet. -K1,1 bedeutet also, die Sortierung in der ersten Spalte zu beginnen und die Sortierung in der ersten Spalte zu beenden.
Option -t
Im vorherigen Beispiel hatte die Datei die Standard-Begrenzungsregisterkarte. Wenn Sie eine Datei mit einem nicht standardmäßigen Begrenzungsmesser sortieren, benötigen Sie die Option -t, um das Begrenzungsmesser anzugeben. Angenommen, wir haben die Datei wie folgt:
test>>cat file
5.|Gryffindor
4.|Hogwarts
2.|Harry
3.|Dumbledore
1.|The sorting hat
Um diese Datei gemäß der zweiten Spalte zu sortieren, verwenden Sie:
test>>sort -t "|" -k 2 file
Dadurch wird die Datei wie folgt sortiert:
3.|Dumbledore
5.|Gryffindor
2.|Harry
4.|Hogwarts
1.|The sorting hat