#!/usr/bin/awk -f { for (i = 1; i <= NF; i++) { ip = $i if (ip ~ /^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/) if (host[ip]) $i = host[ip] else { cmd = "/usr/bin/host 2>/dev/null " ip if ((cmd | getline line) > 0) { sub(/.* /, "", line) if (line) { $i = line host[ip] = line } else host[ip] = $i } else host[ip] = $i close (cmd) } } print } END { exit 0 }