- 论坛徽章:
- 0
|
回复 10# reborts_linux
[clb@localhost sh]$ cat iplist2
china 3.4.5.62
9.0.11.2
9.0.11.3
9.0.11.4
england 67.45.33.1
67.23.45.22
france 34.43.6.2
22.34.3.23
[clb@localhost sh]$ cat ip.awk
#!/bin/awk
BEGIN {
title="";
ip="";
cnt = 0;
}
{
if(match($0, /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)) {
ip=substr($0,RSTART,RLENGTH);
cnt++;
}else{
next;
}
if($1 ~ /^[a-zA-Z][\s\t]*/){
area_cnt++;
cnt=1;
title=$1;
}
printf("++%s%d\nmenu = %s%d\ntitle = %s\nhost = %s\n\n",title,cnt,title,cnt,ip,ip);
}
[clb@localhost sh]$ awk -f ip.awk iplist2
++china1
menu = china1
title = 3.4.5.62
host = 3.4.5.62
++china2
menu = china2
title = 9.0.11.2
host = 9.0.11.2
++china3
menu = china3
title = 9.0.11.3
host = 9.0.11.3
++china4
menu = china4
title = 9.0.11.4
host = 9.0.11.4
++england1
menu = england1
title = 67.45.33.1
host = 67.45.33.1
++england2
menu = england2
title = 67.23.45.22
host = 67.23.45.22
++france1
menu = france1
title = 34.43.6.2
host = 34.43.6.2
++france2
menu = france2
title = 22.34.3.23
host = 22.34.3.23
[clb@localhost sh]$
如果IP 地址文件 地区英文地址不在一行的最开始的话
if($1 ~ /^[a-zA-Z][\s\t]*/){ 这个匹配需要改一下 吧 ^ 去掉 |
|