我有一个未排序的服务器列表,如下所示;
bgsqlnp-z101
bgsqlnp-z102
bgsqlnp-z103
bgsqlnp-z2
bgsqlnp-z3
bgsqlnp-z5
dfsqlnp-z108
dfsqlnp-z4
bgsqlnp-z1
dfsqlprd-z8
fuqddev-z88
fuqhdev-z8
ghsbqudev-z18
heiappprod-z1
htsybprd-z24
用于sort
读入文件,我正在尝试获取以下内容;
bgsqlnp-z1
bgsqlnp-z2
bgsqlnp-z3
bgsqlnp-z5
bgsqlnp-z101
bgsqlnp-z102
bgsqlnp-z103
dfsqlnp-z4
dfsqlnp-z108
dfsqlprd-z8
fuqddev-z88
fuqhdev-z8
ghsbqudev-z18
heiappprod-z1
htsybprd-z24
我只是无法为我的-k
选择找到正确的 keydef。这是我能得到的最接近的;
sort -k2n -t"z"
bgsqlnp-z1
bgsqlnp-z101
bgsqlnp-z102
bgsqlnp-z103
bgsqlnp-z2
bgsqlnp-z3
bgsqlnp-z5
dfsqlnp-z108
dfsqlnp-z4
dfsqlprd-z8
fuqddev-z88
fuqhdev-z8
ghsbqudev-z18
heiappprod-z1
htsybprd-z24
数字顺序正确,但服务器名称未排序。使用多字段 keydef ( -k1,2n
) 的尝试似乎效果为零(我根本没有排序)。
这是有关服务器名称的一些额外信息;1)它们的名字都有“-z[1-200]”后缀,有些数字重复。2) 服务器名称的长度不同(4 到 16 个字符)所以使用 'cut' 是不可能的