意外的bash排序行为
发布时间:2020-12-15 17:00:01 所属栏目:安全 来源:网络整理
导读:如果我创建包含以下行的文本文件: TESTTEXT_10000000TESTTEXT_1000000TESTTEXT_10000002TESTTEXT_10000001 并执行sort myfile,我的输出是 TESTTEXT_1000000TESTTEXT_10000000TESTTEXT_10000001TESTTEXT_10000002 但是,如果我将/ 1和/ 2附加到我的行,则排序
如果我创建包含以下行的文本文件:
>TESTTEXT_10000000 >TESTTEXT_1000000 >TESTTEXT_10000002 >TESTTEXT_10000001 并执行sort myfile,我的输出是 >TESTTEXT_1000000 >TESTTEXT_10000000 >TESTTEXT_10000001 >TESTTEXT_10000002 但是,如果我将/ 1和/ 2附加到我的行,则排序输出会发生巨大变化,我不知道为什么. 输入: >TESTTEXT_10000000/1 >TESTTEXT_1000000/1 >TESTTEXT_10000002/1 >TESTTEXT_10000001/1 输出: >TESTTEXT_10000000/1 >TESTTEXT_1000000/1 >TESTTEXT_10000001/1 >TESTTEXT_10000002/1 输入: >TESTTEXT_10000000/2 >TESTTEXT_1000000/2 >TESTTEXT_10000002/2 >TESTTEXT_10000001/2 输出: >TESTTEXT_10000000/2 >TESTTEXT_10000001/2 >TESTTEXT_1000000/2 >TESTTEXT_10000002/2 正斜线被认为是分离器吗?使用–field-sperator并没有改变行为.如果是这样,为什么在1000002/2和1000002/2条目之间是1000000/2?使用人类排序,数字排序或其他选项从未带来一致性.有人可以帮我从这里出去吗? :编辑:
/在您的语言环境中为0之前.使用LC_ALL = C或其他语言环境将不会改变任何内容.
在您的用例中,您可以正确使用-Version排序: sort -V myfile 您可以选择指定要排序的分隔符和键: sort -t/ -k1,1 myfile (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Angular 2:routerLink无法解析
- 延迟加载Angular 5错误:$$_ lazy_route_resource懒惰递归
- Getting Started with AngularJS1.5 and ES6:part5
- angularjs – Grunt Wiredep不会在Yeoman Angular Tutorial
- docker redmine 设置发邮件功能
- scala – Unit.type和Unit之间有什么区别
- [AngularJS面面观] 11. scope事件机制 - 事件系统在Angular
- twitter-bootstrap – 将datetimepicker连接到angularjs
- Codeforces 914D - Bash and a Tough Math Puzzle 线段树,区
- Jersey框架一:Jersey RESTful WebService框架简介