Mam jedno-wierszowe polecenie, które wyświetla listę 10 najbardziej aktywnych adresów IP z dziennika dostępu do serwera WWW:
cat access.log | awk '{print $1}' | sort | uniq -c | sort -n | tail -n10
Przykładowy zestaw wyników (dla uproszczenia tylko 3 wpisy) to:
20 12.34.56.7
22 3.67.89.201
29 9.0.203.255
Jak widać, liczba poprzedza adres IP, a dwa oddzielone są spacją. Są też puste miejsca poprzedzające liczenie, ale nie mogę ich tutaj pokazać.
Lubię robić odwrotne wyszukiwanie adresów IP w DNS, aby wyglądało to tak:
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)
Jak mogę to zrobić bez uciekania się do skryptu (czyli trzymania się wiersza poleceń w jednym wierszu)? Wszelkie porady są mile widziane.