我有一个表名列表,它们的顺序是乱的。我怎样才能让它们按照正确的逻辑顺序排列?
$ cat list.txt
TAB1
TAB13
TAB11
TAB19
TAB2
TAB3
TAB16
TAB17
TAB18
TAB9
TAB10
TAB8
TAB12
TAB20
$ cat list.txt | sort -n
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 快捷方式也可以,我不一定需要单独的实用程序。
最佳答案
您始终可以使用参数 -V 执行排序来对字母数字字符串进行排序..
$ sort -V inputfile > outputfile
$ cat inputfile
TAB1
TAB13
TAB11
TAB19
TAB2
TAB3
TAB16
TAB17
TAB18
TAB9
TAB10
TAB8
TAB12
TAB20
$ cat outputfile
TAB1
TAB2
TAB3
TAB8
TAB9
TAB10
TAB11
TAB12
TAB13
TAB16
TAB17
TAB18
TAB19
TAB20
关于sorting - 如何在 Unix 中对字母数字字符串进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279530/