加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:09:26 所属栏目:安全 来源:网络整理
导读:[这是我向后问的一个类似问题的改写……抱歉这个混乱!] 我对领先的s和标准排序实用程序感到困惑.考虑myfile的内容: a b a 执行sort -t:myfile会产生意外的结果,至少对我来说: a a b 那有意义吗? 空应该在a-z之前(如ASCII中的情况)或之后.在第一种情况下
[这是我向后问的一个类似问题的改写……抱歉这个混乱!]

我对领先的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像这样.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读