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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow