Parece que está utilizando una configuración regional que no es POSIX.
Prueba:
export LC_ALL=C
y luego sort
.
info sort
dice claramente:
(1) Si usa una configuración regional que no sea POSIX (por ejemplo, configurando 'LC_ALL' en 'en_US'), entonces 'sort' puede producir una salida que se ordena de manera diferente a la que está acostumbrado. En ese caso, establezca la variable de entorno 'LC_ALL' en 'C'. Tenga en cuenta que configurar solo 'LC_COLLATE' tiene dos problemas. Primero, no es efectivo si también se configura 'LC_ALL'. En segundo lugar, tiene un comportamiento indefinido si 'LC_CTYPE' (o 'LANG', si 'LC_CTYPE' no está configurado) se establece en un valor incompatible. Por ejemplo, obtendrá un comportamiento indefinido si `LC_CTYPE' es `ja_JP.PCK' pero `LC_COLLATE' es `en_US.UTF-8'.
Como man sort
dice, "orden del diccionario" significa "considerar solo espacios en blanco y caracteres alfanuméricos". Por ejemplo, dados los datos
The
!quick
brown
@fox
jumps
#over
17
$lazy
dogs
%42
times.
el sort
sin adornos comando produce
dogs
!quick
#over
$lazy
%42
@fox
17
brown
jumps
The
times.
(colocando las líneas que comienzan con los caracteres de espacio y el !
, #
, $
, %
y @
símbolos delante de las líneas que comienzan con letras y números; es decir, caracteres alfanuméricos ), pero sort -d
produce
dogs
17
%42
brown
@fox
jumps
$lazy
#over
!quick
The
times.
dogs
sigue siendo el primero, porque comienza con espacios, pero los caracteres especiales (puntuación) se ignoran. 17
viene antes de 42
y fox
viene entre brown
y jumps
,a pesar de que 42
y fox
tener caracteres delante de ellos que normalmente los moverían antes del 17
.
____________
en orden de sus valores ASCII:espacio=040, !
=041, #
=043, $
=044, %
=045 y @
=0100. Tenga en cuenta que (sin tener en cuenta la barra espaciadora) este es aproximadamente el orden de izquierda a derecha en algunos teclados.
Para determinar el orden de clasificación, simplemente cree un archivo con un carácter diferente en cada línea y ordénelo. El resultado resultante le indicará el orden de clasificación.