有人可以用法語語言環境來解釋sort命令的行爲嗎?爲什麼排序命令在法語區域設置中對「œ」和「oe」無差別地排序?
$ 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
事實上,「OE」是小於或大於「OE」似乎在常規排序的情況下,隨機的,而字符在字典排序(sort -d
)的情況下,簡單地忽略。
我想這與整理有關,但我想在這裏有一些見解。
您確定您位於法語區域嗎? '$ LC_ALL'的價值是什麼? – unwind 2013-04-04 14:10:41
我在Windows下使用cygwin。 LC_ALL是空的。我的猜測是法語區域這個事實,我該如何檢查它? – 2013-04-04 14:12:18
如果「œ」與「oe」完全等價,那麼結果可以用這種不穩定性來解釋。查看在給出'-s'選項時得到的結果。 – 2013-04-04 15:13:57