sort -g numbers
Lo farà. Come da pagina man di sort, -g
è pensato per l'ordinamento numerico:
-g, --general-numeric-sort
confrontare in base al valore numerico generale
Ti serve la -t. flag per specificare '.' come separatore e gli identificatori di posizione chiave multipli gestiscono i numeri progressivamente più lunghi/profondi. Continuo a non capire esattamente come funzioni, ma funziona...
sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n numbers
o
cat numbers | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n
C'è un flag speciale per questo -V
per i numeri di versione
$ 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. questa opzione è disponibile in GNU Coreutils e potrebbe mancare in altre implementazioni.