>_ IzzyLab

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

Сводка по статусам в логе

средне

В access-логе /var/log/app/access.log последнее поле — HTTP-статус. Посчитай, сколько раз встречается каждый статус, и запиши сводку <статус> <количество> в /root/status_summary.txt.

Что потренируешь:
  • awk
  • sort
  • uniq
  • конвейер
  • логи

Разбор темы

Классический конвейер «лог → сводка»: вытащить нужное поле из каждой строки, посчитать частоты повторов и привести к целевому формату. Последнее поле строки в awk берётся через $NF — это надёжнее фиксированного номера столбца, если строки бывают разной длины. Подсчёт частот — пара sort | uniq -c, но uniq схлопывает только подряд идущие дубликаты, поэтому сортировка перед ним обязательна; учти также, что uniq -c ставит счётчик первым столбцом, а значит порядок «значение количество» придётся при необходимости переставить ещё одним проходом.

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

  1. Статус 200 посчитан
  2. Статус 500 посчитан

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