Respuestas:
Debe indicar sort -n
que ordene la parte después de =
:
sort -t = -k 2n
-k2n
? ¿Se relaciona eso con la ordenación numérica? gracias.
-k
define una clave de clasificación. Vea la página del manual para más detalles. -k2n
define una clave de clasificación que comienza en el segundo campo y termina al final de la línea y la convierte en una clave de clasificación numérica.
use sort:
sort -n file1 > file2
-n, --numeric-sort
compare según el valor numérico de la cadena
sort -g file1 > file 2
-g, --general-numeric-sort
sort -n
ya que no comienzan con un número. La razón por la que los ordena es el último recurso de línea completa (léxico, no numérico) realizado para líneas con la misma clasificación. Eso ordenaría "$lvl=17"
antes "$lvl=2"
.
-n
y -g
son redundantes aquí ya que la entrada no es numérica. Entonces, esta respuesta es engañosa, de ahí el voto negativo (también tenga en cuenta que -g
y las opciones largas son específicas de GNU).
-n
es que no está limitado a enteros decimales. Eso todavía se ordenaría "$lvl=17"
antes "$lvl=2"
como parte de la clasificación de último recurso.
Descubrí que, solo corres sort -h
, funcionará. Lo llaman --human-numberic-sort
.
sort -h file1 > file2
sort -n
es lo que quieres usar. Se ordena a medida que ordenamos los números.sort -k 2 -n file1
sort
en su File1, sin opciones, obtengo su File2. ¿Qué haces diferente? ¿Qué estás dejando fuera de esta pregunta?