O problema é que $()
retorna somente quando tcpdump
sai, mas nunca sairá no seu caso.
Você pode redirecionar a saída para o comando xargs
- ele pode executar dig
antes de tcpdump
exits
código de exemplo:
tcpdump -nvi any "udp port 53" 2>/dev/null|awk '/A\?/{print $(NF-1);fflush()}' | xargs -n 1 dig @1.1.1.1
Observe também que awk
output pode ser armazenada em buffer, então você deve liberar a saída em seu programa awk
.