Введение
Три журнала приложений требуют одной и той же простой проверки: нужно подсчитать строки, начинающиеся с 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.



