GNU/Linux >> Tutoriels Linux >  >> Linux

Quel est l'ordre par défaut du tri Linux ?

Il semble que vous utilisiez une locale non POSIX.

Essayez :

export LC_ALL=C

puis sort .

info sort dit clairement :

(1) Si vous utilisez une locale non POSIX (par exemple, en définissant `LC_ALL' sur `en_US'), alors `sort' peut produire une sortie triée différemment de celle à laquelle vous êtes habitué. Dans ce cas, définissez la variable d'environnement `LC_ALL' sur `C'. Notez que définir uniquement `LC_COLLATE' présente deux problèmes. Premièrement, il est inefficace si `LC_ALL' est également défini. Deuxièmement, il a un comportement indéfini si `LC_CTYPE' (ou `LANG', si `LC_CTYPE' n'est pas défini) est défini sur une valeur incompatible. Par exemple, vous obtenez un comportement indéfini si `LC_CTYPE' est `ja_JP.PCK' mais `LC_COLLATE' est `en_US.UTF-8'.


Comme man sort dit, "ordre du dictionnaire" signifie "considérer uniquement les blancs et les caractères alphanumériques". Par exemple, étant donné les données

The
!quick
brown
@fox
jumps
#over
17
$lazy
  dogs
%42
times.

le sort sans fioritures commande produit

  dogs
!quick
#over
$lazy
%42
@fox
17
brown
jumps
The
times.

(en mettant les lignes qui commencent par les espaces et le ! , # , $ , % , et @ symboles devant les lignes commençant par des lettres et des chiffres ; c'est-à-dire des caractères alphanumériques ), mais sort -d produit

  dogs
17
%42
brown
@fox
jumps
$lazy
#over
!quick
The
times.

  dogs est toujours le premier, car il commence par des espaces, mais les caractères spéciaux (ponctuation) sont ignorés. 17 vient avant 42 , et fox est compris entre brown et jumps ,malgré le fait que 42 et fox ont des caractères devant eux qui les déplaceraient normalement avant le 17 .
____________
dans l'ordre de leurs valeurs ASCII :space=040, ! =041, # =043, $ =044, % =045 et @ =0100. Notez que (sans tenir compte de la barre d'espace) c'est approximativement l'ordre de gauche à droite sur certains claviers.


Pour déterminer l'ordre de tri, créez simplement un fichier avec un caractère différent sur chaque ligne et triez-le. La sortie résultante vous indiquera l'ordre de tri.


Linux
  1. Comment changer le shell par défaut sous Linux

  2. Quel est le but du fichier .bashrc sous Linux

  3. Quel est le mot de passe par défaut de screen ?

  4. Linux :savoir quel processus utilise toute la RAM ?

  5. Quelle est l'unité de taille par défaut dans la commande Linux ls -l

Qu'est-ce que la commande Linux Watch + Exemples

Qu'est-ce que le Shell sous Linux ?

Quelle est la différence entre Linux et Unix ?

Comment changer le shell par défaut dans le système Linux

10 exemples utiles de la commande Sort sous Linux

Qu'est-ce que la commande kill sous Linux ?