Beispiel file.txt
:
100 foo
2 bar
300 tuu
Bei der Verwendung sort -k 1,1 file.txt
ändert sich die Reihenfolge der Zeilen nicht, obwohl wir Folgendes erwarten:
2 bar
100 foo
300 tuu
Wie sortiere ich ein aus Zahlen bestehendes Feld nach dem absoluten Zahlenwert?
-g, --general-numeric-sort
ratsamer sein kann. Dies ermöglicht ferner die wissenschaftliche Notation, z. B. 1.234E10 usw.Wenn Sie Zeichenfolgen sortieren, bei denen es sich um gemischten Text und Zahlen handelt, z. B. Dateinamen von fortlaufenden Protokollen,
sort -n
funktioniert das Sortieren mit nicht wie erwartet:In diesem Fall
-V
macht die Option den Trick:von der Manpage:
quelle
ls
durchgehendensed
Substitutionen durchgeleitet wurden, um die Buchstaben zu entfernen und nur Zahlen zu hinterlassen, die farbige Ausgabe anscheinend auch die Dinge beeinflusste. Laufenls --color=never
machte also auch einen Unterschied.-V
genau das habe ich gesucht. Ich sollte es mir zur Gewohnheit machen, zuerst die Manpages durchzusehen.Nun, die meisten anderen Antworten beziehen sich hier
Ich bin mir jedoch nicht sicher, ob dies für negative Zahlen funktioniert. Hier sind die Ergebnisse, die ich mit der Sortierversion 6.10 auf Fedora 9 erhalte.
Eingabedatei:
Ausgabe:
Welches ist offensichtlich nicht nach numerischen Wert geordnet.
Dann denke ich, dass eine genauere Antwort wäre,
sort -n
aber nur, wenn alle Werte positiv sind.PS: Die Verwendung von
sort -g
liefert für dieses Beispiel genau die gleichen ErgebnisseBearbeiten:
Anscheinend wirken sich die Gebietsschemaeinstellungen darauf aus, wie sich das Minuszeichen auf die Reihenfolge auswirkt ( siehe hier ). Um die richtigen Ergebnisse zu erzielen, habe ich gerade Folgendes getan:
quelle
Sie müssen die numerische Sortieroption verwenden:
quelle
Verwenden Sie
sort -n
odersort --numeric-sort
.quelle
Sie müssen den folgenden Befehl ausführen:
sort -n -k1 filename
Das sollte es tun :)
quelle
Verwenden Sie sort -nr zum Sortieren in absteigender Reihenfolge. Verweisen
Sortieren
Weitere Informationen finden Sie auf der obigen Manpage
quelle
quelle