我希望 bash sort 能够像这样比较字符串:
- 从第一个字符开始(两个字符串)
- 如果字符相等,则继续下一个字符
- 如果不相等,则返回大于/小于的结果给排序算法
- 如果没有更多字符,则返回等于
出于某种原因,这似乎不是事实。
让我们接受以下输入:
a
b
.
-
这是由 bash sort 排序的
-
.
a
b
现在,输入
b.de
bb.de
我期望排序结果如下:
b.de
bb.de
因为第一个字符是相等的,并且对于第二个字符来说,.
它在前面b
(如在第一个测试中所见)。
由于某种原因,情况并非如此,字符串的排序如下:
bb.de
b.de
为什么会sort
出现这样的行为?有没有办法让它表现得“如预期”?
我已经使用 python 测试了同样的例子,python 的排序与预期一致。