en_US.UTF-8による誤ったソート

en_US.UTF-8による誤ったソート

en_US.UTF-8でソートすると、sortコマンドに奇妙な動作があることがわかりました。

このファイルをソートしようとしています(LC_COLLATE = en_US.UTF-8ソートテストデータ)。

㐃㐄

▼▽◢

kgmmcm

両側

ㄠㄨㄩ─┃┆

◆□■Δ

ぁあぃい

┻╋┠┯┨

꓃꓄꓆꒺꒻

々―~」… 」

不名誉

答え1

ソート後、英語の文字列は必ずしも他のすべての文字列の前に来る必要はありません。私は文字列が最初に言語順序( "mario"より前の "david")でソートされ、次にUnicodeコードポイント番号( "プログラマーの順序"、に対応する)LC_ALL=Cでソートされることを期待しています。またはただそのままにしてください(他の文字列は英語ではありません)。

私が知っている限り、ファイルman sort/usr/lib/locale/en_US.UTF-8/LC_COLLATE しなければならないソート順が含まれていますが、英語のインストールでもファイルは私のシステムにありません。 (/usr/lib/locale/C.UTF-8/LC_COLLATEこれは私が整理した唯一のファイルです。)

関連情報