Qualcuno può spiegare il comportamento del comando sort con il œ personaggio con un locale francese?Perché il comando sort ordina indifferentemente "œ" e "oe" nelle impostazioni locali francesi?
$ file file.txt
file.txt: UTF-8 Unicode text, with CRLF line terminators
$ wc -l file.txt
4 file.txt
$ cat file.txt
cœz
coez
coe
cœ
$ sort file.txt
coe
cœ
cœz
coez
$ sort -d file.txt
cœ
coe
coez
cœz
$ env | grep -P "(LC|FR)"
LANG=fr_FR.UTF-8
Il fatto che "œ" è minore o maggiore di "oe" sembra casuale nel caso di una sorta regolare, mentre il personaggio è semplicemente ignorato nel caso di una sorta dizionario (sort -d
).
Credo che abbia qualcosa a che fare con le regole di confronto, ma mi piacerebbe avere una certa comprensione qui.
Sei sicuro che sei in un locale francese? Qual è il valore di '$ LC_ALL'? – unwind
Sto usando cygwin sotto Windows. LC_ALL è vuoto. Il fatto che sia un locale francese è la mia ipotesi, come posso verificarlo? Se –
"œ" è esattamente equivalente a "oe" allora i risultati possono essere spiegati con instabilità in genere. Vedi quali risultati ottieni quando viene fornita l'opzione '-s'. –