Поиск часто повторяющихся шаблонов с помощью sort и uniq
На этом этапе вы научитесь объединять несколько команд с помощью конвейеров (pipes) для анализа паттернов в данных логов. Это распространенная задача в системном администрировании и анализе данных.
Цель
Найти 5 самых часто встречающихся IP-адресов в файле лога доступа.
Контекст
Анализ логов часто включает поиск закономерностей и частоты событий. Комбинируя cut, sort, uniq и другие команды, вы можете извлекать значимую информацию из текстовых данных. Эта техника ценна для идентификации структуры трафика, обнаружения аномалий или понимания поведения пользователей.
Задача
Найдите 5 самых часто встречающихся IP-адресов в /home/labex/project/access.log и сохраните только сами IP-адреса (без количества упоминаний) в файл task2_output.txt.
Требования
- Работайте в директории
/home/labex/project/.
- Извлеките IP-адреса из первого поля файла лога.
- Подсчитайте частоту появления каждого IP-адреса.
- Отсортируйте их по частоте в порядке убывания.
- Возьмите первые 5 результатов.
- Сохраните только IP-адреса (без счетчиков) в
task2_output.txt.
Подсказки
- Используйте
cut -d' ' -f1, чтобы извлечь первое поле (IP-адреса).
- Используйте
sort, чтобы сгруппировать одинаковые элементы вместе.
- Используйте
uniq -c, чтобы подсчитать количество вхождений.
- Используйте
sort -rn для числовой сортировки в обратном порядке (по убыванию).
- Используйте
head -n 5, чтобы получить первые 5 результатов.
- Используйте
awk '{print $2}', чтобы извлечь только IP-адреса из вывода со счетчиками.
Ожидаемый результат
Ваш файл task2_output.txt должен содержать 5 IP-адресов:
$ cat task2_output.txt
255.1.2.3
255.4.2.9
255.4.1.9
255.4.1.1
255.1.4.5
Примечание: Фактические IP-адреса могут отличаться из-за случайной генерации данных.