Me gustaría ordenar un archivo:
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
y consigue esto
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
Es decir, ordenar numéricamente en el segundo y siguientes caracteres de la primera secuencia de no espacios en blanco en la línea.
text-processing
files
sort
edith
fuente
fuente
sort
comando?Respuestas:
Se
n
ordena numéricamente en unk
ey que comienza con el carácter2
nd del campo1
st , ignorando losb
lagos iniciales (y terminando al final de la línea, pero eso no importa para una ordenación numérica que solo considera la secuencia inicial de dígitos decimales).Tenga en cuenta que si hay un empate, como entre estas dos líneas:
Luego, el orden se basará en el último recurso que compara las dos líneas completamente como cadenas.
Con algunos entornos locales, los espacios en blanco se ignorarían en primera instancia para comparar cadenas, en cuyo caso el F91 vendría antes que K92 (como
F
antesK
). Con otros como en la configuración regional C, los espacios en blanco no se ignorarían y el K92 vendría antes que el F91 (el espacio se clasifica antesF
).Para una ordenación de último recurso que ignoraría los espacios en blanco iniciales independientemente de la configuración regional, puede hacer lo siguiente:
Ese
1b
se ordenaría (por los vínculos en la primera tecla) léxicamente en la sección de la línea que comienza con el primer campo ignorando los espacios en blanco iniciales.fuente