Secondo il comm
manual, "Prima di poter utilizzare `comm', i file di input devono essere ordinati utilizzando la sequenza di fascicolazione specificata dalla locale `LC_COLLATE'."
E il sort
manual:"Se non diversamente specificato, tutti i confronti utilizzano la sequenza di fascicolazione dei caratteri specificata dalla locale `LC_COLLATE'.
Pertanto, e un rapido test lo conferma, il LC_COLLATE
ordine comm
si aspetta è fornito dal sort
l'ordine predefinito di, dizionario sort.
sort
può ordinare i file in vari modi:
-d
:Ordine del dizionario:ignora tutto tranne gli spazi bianchi e i caratteri alfanumerici.-g
:Numerico generale - alfa, quindi numeri negativi, quindi positivi.-h
:leggibile dall'uomo - negativo, alfa, positivo.n < nk = nK < nM < nG
-n
:Numerico - negativo, alfa, positivo.k
,M
,G
, ecc. non sono speciali.-V
:Versione - positivo, maiuscolo, inferiore, negativo.1 < 1.2 < 1.10
-f
:senza distinzione tra maiuscole e minuscole.-R
:Casuale - mescola l'input.-r
:Reverse - solitamente usato con uno didghnV
Ci sono altre opzioni, ovviamente, ma queste sono quelle che probabilmente vedrai o ti serviranno.
Il tuo test mostra che l'ordinamento predefinito è probabilmente -d
, ordine del dizionario.
d | g | h | n | V
------+-------+-------+-------+-------
1 | a | -1G | -10 | 1
-1 | A | -1k | -5 | 1G
10 | z | -10 | -1 | 1g
-10 | Z | -5 | -1g | 1k
1.10| -10 | -1 | -1G | 1.2
1.2 | -5 | -1g | -1k | 1.10
1g | -1 | a | a | 5
1G | -1g | A | A | 10
-1g | -1G | z | z | A
-1G | -1k | Z | Z | Z
1k | 1 | 1 | 1 | a
-1k | 1g | 1g | 1g | z
5 | 1G | 1.10 | 1G | -1
-5 | 1k | 1.2 | 1k | -1G
a | 1.10 | 5 | 1.10 | -1g
A | 1.2 | 10 | 1.2 | -1k
z | 5 | 1k | 5 | -5
Z | 10 | 1G | 10 | -10