【发布时间】:2016-11-01 13:39:59
【问题描述】:
如果我创建一个包含以下行的文本文件:
>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 并没有改变行为。如果是这样,为什么 1000000/2 在 1000001/2 和 1000002/2 条目之间?使用人工排序、数字排序或其他选项永远不会带来一致性。有谁能帮帮我吗?
:编辑:
因为似乎相关,考虑到答案,本机上LC_ALL的值为en_GB.UTF-8
【问题讨论】:
-
试试这个:
LC_ALL=C sort file