Практическое задание

Эта задача — шаг 19 курса «Текст в консоли: grep, sed, awk»

Кто парсит магазин: топ-3 IP

средне~7 мин

Магазин тормозит — похоже, каталог кто-то выкачивает. В /var/log/nginx/shop_access.log access-лог в формате nginx, IP — первое поле. Найди три IP, от которых больше всего запросов, и запиши их в /root/top_ips.txt — по одному адресу на строку, самый активный первым, без счётчиков.

Что потренируешь:
  • конвейер
  • awk
  • sort
  • uniq -c
  • head

Разбор темы

Найти самых активных клиентов — классический частотный анализ конвейером: вытащить колонку, отсортировать, посчитать повторы, отсортировать по счётчику и взять верх. Каждая утилита делает один шаг и передаёт поток дальше. Две частые ошибки: забыть первую сортировку (тогда uniq -c посчитает одни и те же IP несколькими кусками) и отсортировать счётчики как текст (тогда 9 окажется выше 12).

Что проверяется

  1. в /root/top_ips.txt три строки
  2. топ-3 IP по убыванию запросов

Как это выглядит