it-swarm.com.de

Sortierbefehl funktioniert bei Zahlen nicht wie vorgesehen

Hier ist meine list.txt:

a    100
b    300
A    50
e    75
1    10

Ich habe den folgenden Befehl ausgeführt:

sort -k2,2 list.txt

Das habe ich bekommen:

1    10
a    100
b    300
A    50
e    75

Ich versuche nur die zweite Spalte zu sortieren. Laut Wikipedia sollte mein Befehl oben das folgende Ergebnis liefern.

a 10
b 50
A 75
e 100
1 300

Vermisse ich etwas?

https://en.wikipedia.org/wiki/Sort_ (Unix)

4
Mint.K

Standardmäßig sortiert sort Zeichen für Zeichen in lexikografische Reihenfolge , basierend auf Sortierfolge des aktuellen Gebietsschemas. Also in deinem Beispiel 100 sortiert nach 10 Aber vorher 50 weil 1 sortiert immer vor 5.

Um in numerischer Reihenfolge zu sortieren, müssen Sie den Bezeichner n hinzufügen

   -n, --numeric-sort
          compare according to string numerical value

z.B.

$ sort -k2,2n list.txt
1   10
A   50
e   75  
a   100 
b   300
16
steeldriver