为什么UNIX排序实用程序在没有选项-b的情况下忽略前导空格?

[这是我向后问的一个类似问题的改写……抱歉这个混乱!]

我对领先的s和标准排序实用程序感到困惑.考虑myfile的内容

a
 b
  a

执行sort -t:myfile会产生意外的结果,至少对我来说:

a
  a
 b

那有意义吗? <空>应该在a-z之前(如ASCII中的情况)或之后.在第一种情况下我会期待

a
 b
a

而在第二种情况下

a
 b
  a

那么,为什么排序似乎应用-b选项(忽略前导s),如果不包括它?事实上,为了安全起见,我添加了-t选项,以便在每一行中只有一个字段. (According to the POSIX standard,“一个字段包含一个非分隔字符的最大序列,并且在没有选项-t的情况下,任何前面的字段分隔符.”sort myfile产生相同的输出,这也是意外的.)

提前致谢!

这取决于区域设置.同
LC_COLLATE=en_US.utf8 sort myfile

我得到了你意想不到的结果,并且

LC_COLLATE=C sort myfile

我得到你的预期结果.另见bash sort unusual order. Problem with spaces?

(我不知道为什么排序处理-b和-t像这样.)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...