Estoy tratando de ordenar algunos datos simples delimitados por tuberías. Sin embargo, ordenar no es realmente ordenar. Mueve mi fila de encabezado hacia abajo, pero mis dos filas que comienzan con 241 se dividen en una fila que comienza con 24.
cat sort_fail.csv
column_a|column_b|column_c
241|212|20810378
24|121|2810172
241|213|20810376
sort sort_fail.csv
241|212|20810378
24|121|2810172
241|213|20810376
column_a|column_b|column_c
Los encabezados de las columnas se están moviendo al final del archivo, por lo que ordenar los procesa claramente. Pero, los valores reales no se ordenan como era de esperar.
En este caso trabajé alrededor con
sort sort_fail.csv --field-separator='|' -k1,1
Pero, siento que eso no debería ser necesario. ¿Por qué ordenar no es ordenar?
csvsort
desde csvkit
, que trata los valores correctamente citado.
LC_COLLATE=C sort
. Dependiendo de lo que espere, también puede necesitarLC_COLLATE=C sort -t'|' -n