大家好我试图从网站上提取名称服务器,但是如果服务器在新线上,我似乎无法做到这一点,例如如果是这样的话,我可以做到....
nserver: ns-a.somesite.com 176.195.2.100
nserver: ns-b.somesite.com 176.195.2.101
但如果是这样的话我就不能这样做了:
nserver:
ns-a.somesite.com 176.195.2.100
ns-b.somesite.com 176.195.2.101
ns-b.somesite.com 176.195.2.102
这是我到目前为止所做的:
whois ebay.com | grep -E "[Ss]ervers{0,1}:"
答案 0 :(得分:0)
只获取名称服务器的名称:
whois ebay.com | grep -E "Name Server" | tr -d ' ' | awk -F":" '{ print $1 }'
您可能必须使用grep搜索条件,这取决于您输出的内容,但这应该可以让您获得99%的目标。
仅供参考,这将使用" Name Server"来删除行,它将从行中删除空格,然后它将用冒号分割行并打印第二个元素,即名称服务器。
添加了更难的例子:
whois sans.edu | tr -d ' ' | awk -F: '{ if ($1 == "NameServer" && length($2)>0) print $2 ;else if ($0 == "NameServers:") found=1; else if (found == 1 && length($0)>0) print $0; else found=0 }'
这个有点麻烦。删除空格后让awk高兴。在awk中,我们执行以下操作:
found=1