Eu tenho um comando de uma linha que lista os 10 principais endereços IP mais ativos de um log de acesso ao servidor da Web:
cat access.log | awk '{print $1}' | sort | uniq -c | sort -n | tail -n10
Um conjunto de resultados de amostra (com apenas 3 entradas para simplificar) seria:
20 12.34.56.7
22 3.67.89.201
29 9.0.203.255
Como você pode ver, a contagem precede o endereço IP, com os dois separados por um espaço em branco. Na verdade, também existem espaços em branco que precedem a contagem, mas não consigo mostrá-los aqui.
Eu gosto de fazer uma pesquisa DNS reversa dos endereços IP, para que fique assim:
20 12.34.56.7 (d12-34-56-7.abhsia.telus.net)
22 3.67.89.201 (customer.vpls.net)
29 9.0.203.255 (9-0-203-255.hlrn.qwest.net)
Como posso fazer isso sem recorrer a um script (ou seja, seguindo um comando de uma linha)? Qualquer conselho é muito apreciado.