![根据 en_US.UTF-8 排序不正确](https://linux22.com/image/48967/%E6%A0%B9%E6%8D%AE%20en_US.UTF-8%20%E6%8E%92%E5%BA%8F%E4%B8%8D%E6%AD%A3%E7%A1%AE.png)
当我按 en_US.UTF-8 排序时,我发现排序命令有奇怪的行为。
我正在尝试对此文件进行排序(LC_COLLATE=en_US.UTF-8 排序测试数据):
㐀
㐃㐄
▼▽◢
㎏㎜㎝
雙方
ㄠㄨㄩ─┃┆
◆□■△
ぁあぃい
┻╋┠┯┨
꓃꓄꓆꒺꒻
々—~‖……'”
龷
答案1
我不希望英文字符串在排序后一定位于所有其他字符串之前。我宁愿期望字符串首先按语言顺序排序(“david”在“mario”之前),然后按 Unicode 代码点编号(“程序员的排序”,对应于LC_ALL=C
)或者只需保留在原处(因为其他字符串不是英语)。
据man sort
我所知,该文件/usr/lib/locale/en_US.UTF-8/LC_COLLATE
应该包含排序顺序,但该文件不在我的系统上,即使它是英文安装。 (/usr/lib/locale/C.UTF-8/LC_COLLATE
这是我唯一的整理文件。)