Saltar al contenido

Ordene el archivo CSV por prioridad de columna usando el comando “ordenar”

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *