GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es el orden predeterminado de clasificación de Linux?

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.


Linux
  1. ¿Qué hace que la comunidad de Linux sea especial?

  2. Linux vs Unix:¿Cuál es la diferencia?

  3. ¿Cuál es el propósito del archivo .bashrc en Linux?

  4. ¿Cuál es la unidad de tamaño predeterminada en el comando linux ls -l?

  5. encontrar el orden de clasificación predeterminado del comando

¿Qué es el comando Watch de Linux + ejemplos?

¿Qué es el Shell en Linux?

¿Cuál es la diferencia entre Linux y Unix?

Cómo cambiar el shell predeterminado en el sistema Linux

10 ejemplos útiles del comando Sort en Linux

¿Qué es el comando matar en Linux?