在 bash 中按字典顺序排序

在 bash 中按字典顺序排序

我希望数据按照 Python 排序的方式进行排序,比较 ASCII 值。但sort命令似乎太聪明了。看一看。因为'.' < '9'

$ sort
.
9
^D
.
9

和 :

$ sort
1.
19
^D
1.
19

这两个都很好。但出于某种原因,如果我在末尾添加字符:

$ sort
1.c
19z
^D
19z
1.c

它可能试图将其读为数字或其他东西。我不想这样,我希望它通过比较每个字符的 ASCII 值来排序。在 中找不到这样的选项man,有什么想法吗?

答案1

所描述的行为可能是区域设置的影响。关闭排序的区域设置:

$ echo '1.c
19z ' | LC_ALL=C sort
1.c
19z

相关内容