sort -g numbers
Das wird reichen. Gemäß der Manpage für Sortieren, -g
ist für die numerische Sortierung gedacht:
-g, --general-numeric-sort
nach allgemeinem Zahlenwert vergleichen
Du brauchst das -t. Flag zum Angeben von '.' als Ihr Trennzeichen, und die mehreren Schlüsselpositionsbezeichner behandeln die zunehmend längeren/tieferen Zahlen. Ich verstehe immer noch nicht ganz genau, wie es funktioniert, aber es funktioniert ...
sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n numbers
oder
cat numbers | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n
Für diesen -V
gibt es ein spezielles Flag für Versionsnummern
$ sort -V numbers
1.0
1.1
1.3
1.3.3
1.4-p1
1.6.1
1.11.4
1.15
2.2.2
2.2.10
2.4
2.4.6
p.s. diese Option ist in GNU Coreutils verfügbar und kann in anderen Implementierungen fehlen.