Chinaunix
标题:
求助 打印servername
[打印本页]
作者:
Buring__
时间:
2017-02-17 14:50
标题:
求助 打印servername
各位好 ,有如下几个文件 能否在匹配192.168.1.1 之后,将其virtualhost下面的servername打印出来
a 文件
<VirtualHost 1.1.1.1:80>
servername a.bi.com
xxxx
xxxx
xxxx
192.168.1.1
</VirtualHost>
<VirtualHost 1.1.1.1:80>
servername a.ba.com
xxxx
xxxx
xxxx
192.168.1.1
</VirtualHost>
b 文件
<VirtualHost 1.1.1.2:80>
servername a.bf.com
xxxx
xxxx
192.168.1.1/a
xxx
192.168.1.1/b
</VirtualHost>
作者:
jason680
时间:
2017-02-17 15:08
回复
1#
Buring__
$ awk -vip=192.168.1.1 '/servername/{sn=$2}/<\/VirtualHost>/{if(c)print sn;c=0}{sub("[/]"," ");if($1==ip)++c}' a b
a.bi.com
a.ba.com
a.bf.com
作者:
moperyblue
时间:
2017-02-17 15:14
awk '/192.168.1.1/{print $3}' RS="<VirtualHost" a b
复制代码
作者:
Buring__
时间:
2017-02-17 15:27
学习啦 , 谢谢两位
作者:
sunzhiguolu
时间:
2017-02-17 16:25
perl -00ne '@F=split(/\n/);if($F[-2]=~/192\.168\.1/){$_=$F[1];print+(split)[-1],"\n"}' a b
复制代码
作者:
zy86416779
时间:
2017-02-17 20:44
[root@CentOS_6 experiment]# cat a.txt
<VirtualHost 1.1.1.1:80>
servername a.bi.com
xxxx
xxxx
xxxx
192.168.1.1
</VirtualHost>
<VirtualHost 1.1.1.1:80>
servername a.ba.com
xxxx
xxxx
xxxx
192.168.0.1
</VirtualHost>
[root@CentOS_6 experiment]# cat b.txt
<VirtualHost 1.1.1.1:80>
servername a.ba.com
xxxx
xxxx
xxxx
192.168.1.1
</VirtualHost>
[root@CentOS_6 experiment]# awk '{if($1=="servername")temp=$2;if($1=="192.168.0.1")print temp}' a.txt b.txt
a.ba.com
[root@CentOS_6 experiment]# awk '{if($1=="servername")temp=$2;if($1=="192.168.1.1")print temp}' a.txt b.txt
a.bi.com
a.ba.com
复制代码
作者:
Driven511
时间:
2017-02-17 20:55
3楼方法666,学习了
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2