Com o comando awk único:
awk '{cmd="host "$0; cmd|getline $0; print $1,$NF;close(cmd)}' infile
Explicação:
Aqui, definimos um comando shell como host $0 e atribuímos a uma variável chamada cmd . Então, com cmd |getline $0 , chamamos esse comando Usando o getline de um Pipe , que awk passa a linha da entrada infile file para a cmd , depois imprime o primeiro e o último campo (domain & amp; IP). No final, precisamos fechar o comando que abrimos, então usamos close(cmd) para fechá-lo.
Entrada:
askubuntu.com
stackexchange.com
Resultado:
askubuntu.com 11.22.33.44
stackexchange.com 55.66.77.88