Ответ
В DevOps grep — это основной инструмент для анализа логов, конфигураций и вывода команд. Я использую его ежедневно для быстрой диагностики проблем.
Типичные сценарии использования:
- Поиск ошибок в логах:
grep -i -n "error|exception|fatal" /var/log/app/application.log - Фильтрация вывода команд:
kubectl get pods --all-namespaces | grep -v Running(показать все поды, кроме работающих) - Рекурсивный поиск в коде/конфигах:
grep -r "DATABASE_URL" ./config/— найти все упоминания строки подключения. - Анализ истории команд:
history | grep "ssh"
Ключевые опции для DevOps:
-A 5 -B 5: Показать 5 строк после и до совпадения — критично для понимания контекста ошибки.-c: Подсчитать количество совпадений — полезно для метрик.-E: Использовать расширенные регулярные выражения (например, для поиска по паттерну IP-адреса).
Пример из практики: При инциденте с падением сервиса первым делом ищу в логах последние ошибки: tail -100 /var/log/nginx/access.log | grep " 500 ".