Antworten:
Sie müssen sagen sort -n
, um das Teil nach dem zu sortieren =
:
sort -t = -k 2n
-k2n
? Bezieht sich das auf die numerische Sortierung? Vielen Dank.
-k
definiert einen Sortierschlüssel. Weitere Informationen finden Sie in der Manpage. -k2n
Definiert einen Sortierschlüssel, der am zweiten Feld beginnt und am Ende der Zeile endet, und macht ihn zu einem numerischen Sortierschlüssel.
benutze sort:
sort -n file1 > file2
-n, --numeric-sort
Vergleiche nach numerischem Wert der Zeichenfolge
sort -g file1 > file 2
-g, --general-numeric-sort
sort -n
da sie nicht mit einer Zahl beginnen. Der Grund, warum sie sortiert werden, ist die vollständige Sortierung der letzten Zeile (lexikalisch, nicht numerisch) für Zeilen mit derselben Rangfolge. Das würde "$lvl=17"
vorher sortieren "$lvl=2"
.
-n
und -g
sind hier redundant, da die Eingabe nicht numerisch ist. Diese Antwort ist also irreführend, daher die Abwertung (beachten Sie auch, dass -g
und die langen Optionen GNU-spezifisch sind).
-n
besteht darin, dass es nicht auf Dezimalzahlen beschränkt ist. Das würde noch "$lvl=17"
vorher "$lvl=2"
als Teil der letzten Sortierung sortieren.
Ich habe festgestellt, dass du einfach rennst sort -h
, es wird funktionieren. Sie nennen es --human-numberic-sort
.
sort -h file1 > file2
sort -n
ist das, was Sie verwenden möchten. Es sortiert, während wir Zahlen sortieren.sort -k 2 -n file1
sort
auf Ihrer Datei1 ohne Optionen ausführe, erhalte ich Ihre Datei2. Was machst du anders Was lässt du aus dieser Frage heraus?