Questão Lendo a saída do comando shell no script awk


Eu tenho um arquivo de texto com uma lista de endereços IP e outras informações.

Estou usando um script awk para processar essa lista e gerar vários cálculos. eu quero ligar dig -x de dentro do script awk e use o valor retornado.

eu tentei

hostname = system("dig +short -x" ip_address);

mas o que ocorre é -

  1. a chamada para escavar imprime uma linha para o shell

  2. nome do host permanece nulo


4


origem




Respostas:


Descobri isso, mas sinta-se à vontade para adicionar melhores respostas

cmd = "dig +short -x " ;
cmd ip_address | getline hostname;
close(cmd)

Então eu posso usar o nome do host em qualquer lugar no script.


11



Essa é a maneira correta de fazer isso. Você provavelmente vai querer fazer close(cmd) depois. - Dennis Williamson
Sim, obrigado, descobri que após essa postagem, fecharemos a questão em 2 dias (requisito de superusuário) - bryan