Ich möchte eine Datei sortieren:
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
und hol dir das
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
Das heißt, sortieren Sie numerisch nach dem zweiten und den folgenden Zeichen der ersten Folge von Nicht-Leerzeichen in der Zeile.
text-processing
files
sort
Edith
quelle
quelle
sort
Befehl ausprobiert ?Antworten:
Sortierungen
n
umerically auf einemk
ey mit dem Start2
nd Charakter des1
st Feldes führt zu ignorierenb
Lanks (und am Ende der Zeile endet, aber das spielt keine Rolle für eine numerische Art , die nur die erste Folge von Dezimalziffern betrachtet).Beachten Sie Folgendes: Wenn es ein Unentschieden gibt, wie zwischen diesen beiden Zeilen:
Dann basiert die Reihenfolge auf der Sortierung des letzten Auswegs, bei der die beiden Zeilen vollständig als Zeichenfolgen verglichen werden.
Bei einigen Gebietsschemas würden Leerzeichen beim Vergleichen von Zeichenfolgen zunächst ignoriert. In diesem Fall würde das F91 vor K92 stehen (wie
F
zuvor sortiertK
). Bei anderen wie im Gebietsschema C würden Leerzeichen nicht ignoriert, und der K92 würde dann vor dem F91 stehen (Leerzeichen werden zuvor sortiertF
).Für eine Sortierung der letzten Instanz, bei der führende Leerzeichen unabhängig vom Gebietsschema ignoriert werden, können Sie Folgendes tun:
Dieser
1b
würde (nach Bindungen auf dem ersten Schlüssel) lexikalisch nach dem Abschnitt der Zeile sortieren, der mit dem ersten Feld beginnt, wobei führende Leerzeichen ignoriert werden.quelle