GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è l'ordine predefinito dell'ordinamento di Linux?

Sembra che tu stia utilizzando una locale non POSIX.

Prova:

export LC_ALL=C

e poi sort .

info sort dice chiaramente:

(1) Se usi un locale non POSIX (ad esempio, impostando `LC_ALL' su `en_US'), allora `sort' potrebbe produrre un output ordinato in modo diverso da quello a cui sei abituato. In tal caso, impostare la variabile d'ambiente `LC_ALL' su `C'. Si noti che impostare solo `LC_COLLATE' ha due problemi. Primo, è inefficace se è impostato anche `LC_ALL'. In secondo luogo, ha un comportamento indefinito se `LC_CTYPE' (o `LANG', se `LC_CTYPE' non è impostato) è impostato su un valore incompatibile. Ad esempio, ottieni un comportamento indefinito se `LC_CTYPE' è `ja_JP.PCK' ma `LC_COLLATE' è `en_US.UTF-8'.


Come man sort dice, "ordine del dizionario" significa "considera solo spazi vuoti e caratteri alfanumerici". Ad esempio, dati i dati

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

il disadorno sort comando produce

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

(mettendo le righe che iniziano con i caratteri spazio e il ! , # , $ , % e @ simboli davanti alle righe che iniziano con lettere e numeri;ad esempio, caratteri alfanumerici ), ma sort -d produce

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

  dogs è ancora primo, perché inizia con spazi, ma i caratteri speciali (punteggiatura) vengono ignorati. 17 viene prima di 42 e fox si trova tra brown e jumps ,nonostante il fatto che 42 e fox avere caratteri davanti a loro che normalmente li sposterebbero prima del 17 .
____________
in ordine di valori ASCII:spazio=040, ! =041, # =043, $ =044, % =045 e @ =0100. Nota che (ignorando la barra spaziatrice) questo è approssimativamente l'ordine da sinistra a destra su alcune tastiere.


Per determinare l'ordinamento, crea semplicemente un file con un carattere diverso su ogni riga e ordinalo. L'output risultante ti dirà l'ordinamento.


Linux
  1. Cosa rende Linux il sistema operativo sostenibile

  2. Cosa rende speciale la comunità Linux?

  3. Qual è lo scopo del file .bashrc in Linux

  4. Qual è la password predefinita dello schermo?

  5. Linux:scopri quale processo sta usando tutta la RAM?

Cos'è il comando Linux Watch + Esempi

Che cos'è la shell in Linux?

Qual è la differenza tra Linux e Unix?

Come modificare la shell predefinita nel sistema Linux

10 esempi utili del comando di ordinamento in Linux

Qual è il comando kill in Linux?