比如有这样的列表:
使用命令cat sg |awk -F'.' '{print $1}'得到域名.前面的文字信息,如下:
得到主机名数字后缀列表,cat sg |awk -F'.' '{print $1}'|awk -F'-' '{print $5}'
拿到主机名和主机名后缀数字:cat sg |awk -F'.' '{print $1}'|awk -F'-' '{print $5}' >sg.1;paste sg sg.1;
合并排序,paste sg sg.1 |sort -k2n
总结下,利用了shell的几个特性:
1、cat sg |awk -F'.' '{print $1}',得到数字的字符串
2、cat sg |awk -F'.' '{print $1}'|awk -F'-' '{print $5}',得到数字串
3、paste sg sg.1,将主机名和数字串拼接在一起
4、paste sg sg.1 |sort -k2n,按照第二列数字进行排序
突然想到,如果主机名数量比较少的话,其实不需要使用这么多命令,直接用notepad++的Alt键和鼠标移动工,获得数字列,然后将主机名和数字串拼接在一起就好了。