alm*_*now 2 linux sorting gnu gnu-sort
我需要帮助理解 GNU 排序的默认算法。我认为它进行了字典排序,但是我发现了一些与此不符的行为,例如以下字符串:
alex.
alex.a
alex.Z
alexa
alex0
alexZ
alex.~
alex
alex.|
alex.}
alex.abc
Run Code Online (Sandbox Code Playgroud)
并使用类似的排序在外壳上对它们进行排序 echo 'stuff' | sort
这是我得到的结果:
alex
alex.
alex.~
alex.|
alex.}
alex0
alexa
alex.a
alex.abc
alexZ
alex.Z
Run Code Online (Sandbox Code Playgroud)
我想不通为什么alex0和alexa之间出现在alex.}和alex.a
谁可以给我解释一下这个?
GNU Sort 实现了归并排序。您可以在超级用户线程中找到完整的答案。https://superuser.com/questions/234054/unix-sort-algorithm-implementation