我正在編寫一個小命令,它使用 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