gpt4 book ai didi

linux - GNU 排序 - 用于比较的默认算法是什么?

转载 作者:太空狗 更新时间:2023-10-29 11:29:43 27 4
gpt4 key购买 nike

我需要帮助来理解 GNU 排序的默认算法。我假设它进行了字典排序,但是我发现了一些与此不符的行为,例如采用以下字符串:

alex.
alex.a
alex.Z
alexa
alex0
alexZ
alex.~
alex
alex.|
alex.}
alex.abc

然后使用类似于 echo 'stuff' | sort 的排序在 shell 上对它们进行排序

这是我得到的结果:

alex
alex.
alex.~
alex.|
alex.}
alex0
alexa
alex.a
alex.abc
alexZ
alex.Z

我不明白为什么 alex0alexa出现在 alex.} 之间和 alex.a

有人能给我解释一下吗?

最佳答案

大体上排序取决于 LOCALE 设置:

$ sort sort 
alex
alex.
alex.~
alex.|
alex.}
alex0
alexa
alex.a
alex.abc
alexZ
alex.Z
$ LC_ALL=C sort sort
alex
alex.
alex.Z
alex.a
alex.abc
alex.|
alex.}
alex.~
alex0
alexZ
alexa

关于linux - GNU 排序 - 用于比较的默认算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16513544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com