la clasificación con una especie de coreutil
-
26-09-2019 - |
Pregunta
Estoy tratando de ordenar una tabla basándose en el primer valor de menor a mayor con el comando GNU-coreutils tipo.
Mi apariencia de mesa algo como esto:
archivo.txt
100,0.8,0.323, ... some more data
2,0.323,0,323, ...
4, ...
53, ...
.
.
121, ...
He intentado hacer lo siguiente:
sort -n -k 1 file.txt
pero me da cosas como ...
10,0,10,10
100,9,1,10
101,9,2,11
102,9,3,12
103,9,4,13
104,9,5,14
105,9,6,15
106,9,7,16
107,9,8,17
108,9,9,18
21,1,10,11
32,2,10,12
43,3,10,13
54,4,10,14
Quiero que el orden numérico lógico.
Ted.
Solución
La invocación correcta de sort
podría parecerse
$ sort -n -t , -k 1,1 file.txt
Explicación:
-
-n
orden aritmético - coma
-t ,
es separador de campo -
-k 1,1
tipo en el primer campo - archivo de entrada
file.txt
Invocando el programa anterior dado da
10,0,10,10
21,1,10,11
32,2,10,12
43,3,10,13
54,4,10,14
100,9,1,10
101,9,2,11
102,9,3,12
103,9,4,13
104,9,5,14
105,9,6,15
106,9,7,16
107,9,8,17
108,9,9,18
Al ordenar por campos es muy útil opción de uso a --debug
, sólo para asegurarse de que tipo funciona como se esperaba.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow