Hace poco estuve mirando esto ^^. Pero una más P. ¿Qué hacer -k2n? ¿Se relaciona eso con la ordenación numérica? gracias.
αғsнιη
2
@KasiyA -kdefine una clave de clasificación. Vea la página del manual para más detalles. -k2ndefine 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.
Stéphane Chazelas
0
use sort:
sort -n file1 > file2
-n, --numeric-sort
compare según el valor numérico de la cadena
No, todas esas líneas tienen la misma clasificación sort -nya 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".
Stéphane Chazelas
@ StéphaneChazelas gracias por señalar.
Hackaholic
Parafraseando, -ny -gson 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 -gy las opciones largas son específicas de GNU).
Stéphane Chazelas
pero -g es una buena clasificación numérica general
Hackaholic
Eso sigue siendo para ordenar valores numéricos, la diferencia -nes 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.
Stéphane Chazelas
0
Descubrí que, solo corres sort -h, funcionará. Lo llaman --human-numberic-sort.
sort
en su File1, sin opciones, obtengo su File2. ¿Qué haces diferente? ¿Qué estás dejando fuera de esta pregunta?Respuestas:
Me gusta -V --version-sort: se comporta muy bien para muchas situaciones mezclando cadenas y números
Yo uso esta opción muy a menudo ...
En alguna dirección,
ls -v
para ordenar por versiónls
.fuente
Debe indicar
sort -n
que ordene la parte después de=
:fuente
-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:
-n, --numeric-sort
compare según el valor numérico de la cadena
-g, --general-numeric-sort
fuente
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
.fuente
sort -n
es lo que quieres usar. Se ordena a medida que ordenamos los números.sort -k 2 -n file1
fuente