Te recomendamos que pruebes esta resolución en un entorno controlado antes de enviarlo a producción, saludos.
Solución:
sort --field-separator=';' --key=2,1,3
Supongamos que tiene otra fila 3;10;3
en tus unsorted.csv
expediente. Entonces supongo que esperas un resultado ordenado numéricamente:
2;1;3
3;1;2
1;2;3
3;2;1
1;3;2
2;3;1
3;10;3
y no uno ordenado alfabéticamente:
2;1;3
3;1;2
3;10;3
1;2;3
3;2;1
1;3;2
2;3;1
Para conseguir eso, tienes que usar -n
:
sort --field-separator=';' -n -k 2,2 -k 1,1 -k 3,3 unsorted.csv
Vale la pena mencionar que 2,2
tiene que ser usado. si solo 2
se usa, entonces sort
toma el string desde el principio del campo 2 hasta el final. 2,2
se asegura de que solo el campo 2
se usa
La respuesta anterior de Charlie no funcionó para mí en Cygwin (ordenar la versión 2.0, GNU textutils), lo siguiente sí:
sort -t"," -k2 -k1 -k1
Si posees algún titubeo y forma de aumentar nuestro crónica te insinuamos ejecutar una explicación y con deseo lo observaremos.