DevOps junior
Linux: найти все ERROR за сегодня и посчитать?
Ответ
grep "$(date +%Y-%m-%d)" app.log | grep -c "ERROR". find: find . -name "*.log" -mtime -1 (файлы за сутки). Уникальные IP: grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' access.log | sort -u. tail -f app.log — для просмотра в реальном времени.
Разбор: Правильно: grep по дате, затем grep -c "ERROR" считает именно строки с ERROR; find -mtime -1 берёт файлы, изменённые за последние сутки; уникальные IP — через grep -oE + sort -u. Ловушки: grep -c по дате и grep | wc -l считают ВСЕ строки, а не только ERROR; -mtime +1 и -ctime +1 дают файлы старше суток (а не за сутки); uniq без предварительного sort не уберёт неотсортированные дубликаты, формат даты %d-%m-%Y не совпадает с логом, а tail -f несовместим с подсчётом и завершением пайпа.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.