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

アスキーの 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 に答える