如何在bash中的換行符處分割輸出字串

如何在bash中的換行符處分割輸出字串

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

相關內容