Ich versuche einige Daten mit zu sortieren sort
. Ich bemerkte, dass es eher nach Ziffern als nach Zahlen sortiert war, also fügte ich die -n
Flagge hinzu . Es sortiert dann aber scheinbar nur numerisch auf dem ersten Feld. Die Aufteilung nach Feldern ist ein Problem, da die Zeilen eine unterschiedliche Anzahl von Feldern aufweisen (und ich kann ihr Verhalten ehrlich gesagt nicht verstehen). Hier sind einige Beispieldaten, mit denen ich gespielt habe:
echo -e "b b 1\n23 44\nb 3\na 7\nb b 2\na 1\nb a 10\nb b 10\nb 1\nb a 1\n18 2\nb 10\n18 15\nb a 2\n23 9\nb 2" | sort -n
Input Want Expect? sort -n -n -k1,1 -k2,2 -k3,3 -k4,4…
b b 1 8 2 a 1 23 44 a 1 b a 1
23 44 8 15 a 7 23 9 a 7 b a 10
b 3 23 9 b a 1 8 15 b 1 b a 2
a 7 23 44 b a 2 8 2 b 10 b b 1
b b 2 a 1 b a 10 a 1 b 2 b b 10
a 1 a 7 b b 1 a 7 b 3 b b 2
b a 10 b 1 b b 2 b 1 b a 1 a 1
b b 10 b 2 b b 10 b 10 b a 10 b 1
b 1 b 3 b 1 b 2 b a 2 b 2
b a 1 b 10 b 2 b 3 b b 1 b 3
8 2 b a 1 b 3 b a 1 b b 10 a 7
b 10 b a 2 b 10 b a 10 b b 2 b 10
8 15 b a 10 8 2 b a 2 8 15 8 2
b a 2 b b 1 8 15 b b 1 8 2 8 15
23 9 b b 2 23 9 b b 10 23 44 23 9
b 2 b b 10 23 44 b b 2 23 9 23 44
Idealerweise möchte ich es auf genau dieser Maschine zum Laufen bringen, auf der GNU Coreutils Sort 5.93 vorhanden sind. Ich würde es gerne mit einfachen Unix-Tools handhaben. Ich möchte das Problem nicht einfach Perl usw. übergeben. Ich hoffe auf ein Äquivalent des [imaginären]sort --numeric-sort --all-fields --actually-work
quelle