Sortierung mit coreutil der Art
-
26-09-2019 - |
Frage
Ich versuche, eine Tabelle zu sortieren basierend auf dem ersten Wert vom kleinsten zum größten mit dem Gnu-coreutils Befehl sort.
Meine Tabelle sieht etwa so aus:
file.txt
100,0.8,0.323, ... some more data
2,0.323,0,323, ...
4, ...
53, ...
.
.
121, ...
Ich habe dabei die folgende versucht:
sort -n -k 1 file.txt
aber ich habe Dinge wie ...
10,0,10,10
100,9,1,10
101,9,2,11
102,9,3,12
103,9,4,13
104,9,5,14
105,9,6,15
106,9,7,16
107,9,8,17
108,9,9,18
21,1,10,11
32,2,10,12
43,3,10,13
54,4,10,14
Ich mag die logische numerische Reihenfolge.
Ted.
Lösung
Der richtige Aufruf von sort
aussehen könnte
$ sort -n -t , -k 1,1 file.txt
Erklärung:
-
-n
sort numerisch -
-t ,
Komma Feldtrenn -
-k 1,1
Art auf dem ersten Feld -
file.txt
Eingabedatei
die oben angegebene Programm aufrufen gibt
10,0,10,10
21,1,10,11
32,2,10,12
43,3,10,13
54,4,10,14
100,9,1,10
101,9,2,11
102,9,3,12
103,9,4,13
104,9,5,14
105,9,6,15
106,9,7,16
107,9,8,17
108,9,9,18
Wenn von Feldern des Sortieren ist es sehr praktisch zu bedienen --debug
Option, nur um sicher zu stellen, dass Art wie erwartet funktioniert.