我经常想对字符串中的数字进行排序,使得例如 abc_2, abc_1, abc_10
排序后为 abc_1, abc_2, abc_10
。我见过的每一种排序机制都是按照从左到右逐个字符排序的方式,即结果为 abc_1, abc_10, abc_2
。
有没有一种高效的方法来获得我想要的排序结果?在 bash
中查看每个字符,确定它是否是数字,构建一个由连续数字组成的子字符串,并将其作为数字排序,这个想法让人无法忍受。
难道没有什么长胡子的*nix大师实现了一个具有 --sensible_numerical
选项的替代版本 sort
吗?