Cómo dividir una cadena de salida en una nueva línea en bash

Cómo dividir una cadena de salida en una nueva línea en bash

Estoy escribiendo un pequeño comando que usa nslookup para obtener la dirección IP de un nombre de dominio.

Esto es lo que he hecho:

nslookup scanme.nmap.org | grep -i "Address"  | awk '{print $2}' 

Producción:

127.0.0.53#53
45.33.32.156
2600:3c01::f03c:91ff:fe18:bb2f

Ahora de lo anterior solo quiero obtener la segunda línea, es decir45.33.32.156. Soy relativamente nuevo en Ubuntu y Linux en general, así que ayúdenme aunque sea muy simple (¡¡realmente estoy luchando!!). Gracias de antemano. ;-)

Respuesta1

Para obtener la segunda línea, use 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

Respuesta2

Como ya usas awk para obtener la segunda columna, también puedes indicarle que solo procese el segundo registro:

$ nslookup scanme.nmap.org | grep -i "Address"  | awk 'NR==2 {print $2}'
45.33.32.156

información relacionada