for dest in $(awk '{print $NF}' mylogfile | sort | uniq)
do
grep ${dest} mylogfile | sort -k1 -k2 | tail -1
done
1 $(awk '{print $NF}' mylogfile | sort | uniq)
imprima o último campo de cada linha no logfile, que é o seu IP de destruição. classifique-o para que endereços IP idênticos estejam em blocos consecutivos. uniq é imprimir apenas uma instância de blobk de linhas idênticas
2 & 4 do ... done
Eu acho que isso é auto-explicativo. A construção geral do loop
3 grep ${dest} mylogfile | sort -k1 -k2 | tail -1
encontre linhas com um endereço IP (assume que este endereço IP não está se repetindo em nenhum outro campo, exceto o último), classifique primeiro o campo 1 e depois o campo 2, o último registro de data / hora na última linha . tail -1
pega essa última linha