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