sort -g numbers
lo hará Según la página del manual de clasificación, -g
está destinado a la clasificación numérica:
-g, --general-numeric-sort
comparar según el valor numérico general
Necesitas la -t. bandera para especificar '.' como su separador, y los especificadores de posiciones clave múltiples manejan los números progresivamente más largos/más profundos. Todavía no entiendo exactamente cómo funciona, pero funciona...
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
Hay una bandera especial para este -V
para números de versión
$ 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
PD. esta opción está disponible en GNU Coreutils y puede faltar en otras implementaciones.