Как разделить выводимую строку на новой строке в 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

Связанный контент