我正在编写一个小命令,它使用 nslookup 来获取域名的 IP 地址。
以下是我所做的:
nslookup scanme.nmap.org | grep -i "Address" | awk '{print $2}'
输出:
127.0.0.53#53
45.33.32.156
2600:3c01::f03c:91ff:fe18:bb2f
现在从上面我只想得到第二行,即45.33.32.156。我对 Ubuntu 和 Linux 总体来说还比较陌生,所以请帮助我,即使它可能真的很简单(我真的很挣扎!!)。提前谢谢。;-)
答案1
要获取第二行,请使用sed -n '2 p'
:
$ printf "127.0.0.53#53\n45.33.32.156\n2600:3c01::f03c:91ff:fe18:bb2f" | sed -n '2 p'
45.33.32.156
答案2
由于您已经使用 awk 来获取第二列,因此您也可以告诉它仅处理第二条记录:
$ nslookup scanme.nmap.org | grep -i "Address" | awk 'NR==2 {print $2}'
45.33.32.156