Reading output of shell command in awk script

awkshell

I have a text file with a list ip addresses and other information.

I am using an awk script to process this list and output various computations. I want to call dig -x from inside the awk script and use the returned value.

I have tried

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

but what occurs is –

  1. the call to dig prints a line to the shell

  2. hostname remains null

Best Answer

Figured it out, but please feel free to add better answers

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

Then I can use the hostname anywhere in the script.

Related Question