我有一个表名列表,这些表名不对。如何以正确的逻辑顺序获取它们?


TAB1
TAB13
TAB11
TAB19
TAB2
TAB3
TAB16
TAB17
TAB18
TAB9
TAB10
TAB8
TAB12
TAB20


TAB1
TAB10
TAB11
TAB12
TAB13
TAB16
TAB17
TAB18
TAB19
TAB2
TAB20
TAB3
TAB8
TAB9

预期订单:
TAB1
TAB2
TAB3
TAB8
TAB9
TAB10
TAB11
TAB12
TAB13
TAB16
TAB17
TAB18
TAB19
TAB20

任何vim快捷方式也可以,我不一定需要单独的实用程序。

最佳答案

您需要告诉它排序键的起始位置:

sort -n -k1.4 list.txt

否则,它会从头开始,无法将字符串转换为数字,而无法进行字母比较。

关于sorting - 如何在Unix中对字母数字字符串排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4279530/

10-13 07:15