Bir web sunucusu erişim günlüğünden en etkin 10 IP adresini listeleyen tek satırlık bir komut var:
cat access.log | awk '{print $1}' | sort | uniq -c | sort -n | tail -n10
Örnek bir sonuç kümesi (basitlik için yalnızca 3 girişle):
20 12.34.56.7
22 3.67.89.201
29 9.0.203.255
Gördüğünüz gibi, sayı IP adresinden önce gelir ve ikisi boş bir boşlukla ayrılır. Aslında sayımdan önce boş alanlar var ama burada göstermelerini sağlayamıyorum.
IP adresleri ters DNS araması yapmak istiyorum, böylece şöyle görünecektir:
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)
Bunu bir komut dosyasına başvurmadan nasıl yapabilirim (tek satırlık bir komuta bağlı kalmak)? Herhangi bir tavsiye çok takdir edilmektedir.