6

有人可以用法语语言环境来解释 sort 命令的行为吗?

$ 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”的事实在常规排序的情况下似乎是随机的,而在字典排序的情况下该字符被简单地忽略(sort -d)。

我想这与排序规则有关,但我想在这里有所了解。

4

1 回答 1

1

字典排序可能会忽略 – 连字,因为它不在 ascii 中的 a-zA-Z 范围内。(这是一个猜测)。

然后在法语语言环境中,– 和 oe 比较相等,所以它们应该以它们进入的任何顺序出现,这似乎是发生在你身上的事情。如果这是正确的,那么如果你把它放在:

cœz
coez
cœm
coem
coep
cœp
coe
cœ

你应该得到这个:

coe
cœ
cœm
coem
coep
cœp
cœz
coez

您可以使用-c(检查文件是否已排序)或-r(倒序)选项来获得更多信息。

于 2013-04-04T15:31:44.833 回答