Введение
Для трёх журналов приложения нужно выполнить одну и ту же простую проверку: подсчитать строки, начинающиеся с ERROR, и вывести по одному результату для каждого файла. Повторять команды вручную не нужно — короткий цикл обработает все файлы .log.
В предыдущей лабораторной работе с пошаговыми инструкциями вы последовательно создали именно такой цикл. В этом задании нужно написать небольшой многоразовый скрипт без дополнительного копирования файлов, каталогов для отчётов и требований к обработке ошибок.
Создайте скрипт для сводки ошибок
Текущая ситуация
В каталоге /home/labex/project/log-automation/logs находятся файлы api.log, healthy.log и worker.log.
Задача
- Создайте файл
/home/labex/project/log-automation/process-logs.sh. - Первый аргумент скрипта — каталог с журналами.
- Обработайте файлы, имена которых заканчиваются на
.log. - Для каждого файла подсчитайте строки, начинающиеся с
ERROR. - Выведите одну строку в формате
filename errors=count.
Цель
В результате должен остаться один исполняемый скрипт, который при запуске как ./process-logs.sh logs выводит правильную сводку ошибок.
Критерии приёмки
Скрипт начинается с
#!/bin/bashи является исполняемым.Команда
./process-logs.sh logsвыводит:api.log errors=1 healthy.log errors=0 worker.log errors=2
Подсказки
Какой пример из пошаговой работы ближе всего к этому заданию?
Просмотрите цикл, который перебирал файлы по шаблону "$log_dir"/*.log, подсчитывал строки ^ERROR и выводил базовое имя файла вместе с количеством строк.
Итоги
Вы преобразовали знакомый цикл подсчёта строк в журналах в короткий многоразовый скрипт Bash.



