如何在bash中按字母顺序和数字顺序排序?

时间:2015-08-05 20:38:05

标签: bash

现在我的文件如下:

hostname=myhost1
id[12]=id12
id[3]=id3
id[2]=id2
id[7]=id7
alpha=a

在bash中使用sort,如何按如下方式订购文件:

alpha=a
hostname=myhost1
id[2]=id2
id[3]=id3
id[7]=id7
id[12]=id12

我差不多......我在所有其他身份之前得到id[12]=id12

非常感谢任何帮助

2 个答案:

答案 0 :(得分:3)

您可以使用:

sort -t '[' -nk2 file
alpha=a
hostname=myhost1
id[2]=id2
id[3]=id3
id[7]=id7
id[12]=id12

-t会将字段分隔符设置为[-nk2会在字段2中按字段2对输入进行排序。

找到[

答案 1 :(得分:0)

我能够使用以下sort命令解决问题:

sort -t '[' -k 1,1 -k 2,2n filename