尝试创建脚本,我可以从 nslookup IP 中选择一个 ip 并分配给变量。
需要指导。提前致谢。
nslookup yahoo.com | grep Address
Address: 192.168.1.1#53
Address: 98.137.11.163
Address: 74.6.231.20
Address: 98.137.11.164
Address: 74.6.231.21
Address: 74.6.143.26
Address: 74.6.143.25
Address: 2001:4998:24:120d::1:1
Address: 2001:4998:44:3507::8000
Address: 2001:4998:124:1507::f001
Address: 2001:4998:24:120d::1:0
Address: 2001:4998:124:1507::f000
Address: 2001:4998:44:3507::8001
答案1
我认为dig
在脚本中使用更容易。要获取地址,您可以使用dig +short yahoo.com
.要获得单行,请使用此dig +short yahoo.com | head -n 1
.
答案2
又快又脏,但有效:
- Pipe
nslookup
的输出grep
带有-A1
参数(返回匹配的行加一); - 将此输出通过管道传输以
tail -n1
仅获取最后一行; - “
sed
”你的方法是删除“地址:”部分并仅获取IP。
例子:
$ nslookup google.com | grep -A1 Name | tail -n1
Address: 2800:3f0:4004:805::200e
如果您只需要 IPv4,请确保包含-query=A
以下参数nslookup
:
$ nslookup -query=A google.com | grep -A1 Name | tail -n1 | sed 's/Address: //'
216.58.222.110