resultado inesperado de GNU especie
Pregunta
cuando trato de ordenar el siguiente archivo de texto 'de entrada':
test1 3
test3 2
test 4
con el comando
sort input
la salida es exactamente la entrada. Aquí está la salida de
od -bc input
:
0000000 164 145 163 164 061 011 063 012 164 145 163 164 063 011 062 012
t e s t 1 \t 3 \n t e s t 3 \t 2 \n
0000020 164 145 163 164 011 064 012
t e s t \t 4 \n
0000027
Es sólo una pestaña archivo separado con dos columnas. Cuando hago
sort -k 2
La salida cambia a
test3 2
test1 3
test 4
que es lo que cabría esperar. Pero si lo hago
sort -k 1
no cambia nada con respecto a la entrada, mientras que se puede esperar 'prueba' para ordenar antes 'test1'. Por último, si lo hago
cat input | cut -f 1 | sort
consigo
test
test1
test3
como se esperaba. ¿Hay una explicación lógica para esto? Exactamente lo que se supone que hacer una especie de forma predeterminada, algo como:
sort -k 1
Mi versión del tipo:
sort (GNU coreutils) 7.4
No hay solución correcta
Otros consejos
Desde las páginas de manual:
* ADVERTENCIA * El entorno local especificado por el entorno afecta ordenar orden. Conjunto LC_ALL = C para obtener el orden de clasificación tradicional que utiliza nativo valores de bytes.
Por lo que parece export LC_ALL = C debe ayudar