LINUX.ORG.RU

Подскажите команду для вывода ip-шников из лога

 ,


0

1

Добрый день! Подскажите, как вывести из аксесс-лога список ip-шников, отсортированный по их количеству, как тут

4 185.26.180.74

10 46.133.168.28

24 5.45.192.68

45 5.45.192.68

48 213.87.127.113

100 46.133.168.28

112 5.45.192.68

Взять нужно последние, например 1000 записей.

Я нашел такую tail -1000 access.log | awk -F\" '{print $1}' | sort | uniq -c | sort -g

Но с ней одни и те же ip выводятся с разным количеством...

Что за лажа, если это access.log от httpd, то ″-F\"″ даст другой вывод, не просто ip-адрес, а ещё и дату. А если у вас access.log другого формата, то покажите какого, а лучше сами разберитесь, почему у вас на вход sort попадают лишние пробелы или ещё какие невидимые символы.

mky ★★★★★ ()
echo '1.2.3.4 some 10.10.10.10 data 10.10.10.10 not ip 123.321' | grep -oE '[1-9]{1}[0-9]{0,2}(\.[0-9]{1,3}){3}' | sort -n | uniq -c
anonymous ()
Ответ на: комментарий от anonymous

Для итоговой сортировки добавьте ещё sort -n.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.