Когда нужно быстро что-то найти в логах, конфигах или коде, многие по привычке используют
grep -R. Рабочий вариант, но на больших каталогах он быстро начинает раздражать: шумный вывод, медленный поиск, лишние файлы. Для таких задач есть ripgrep (rg) - быстрый и удобный инструмент для поиска по тексту. По сути это современный grep, который хорошо подходит и для админки, и для разработки.▪️ Установка:
apt install ripgrep
▪️ Самый простой пример:
rg nginx
Команда найдет все вхождения nginx в текущем каталоге и покажет: путь к файлу, номер строки и совпадение в контексте.
▪️ Почему ripgrep так любят:
1️⃣ Работает быстро. Особенно заметно на больших деревьях каталогов.
2️⃣ По умолчанию умнее обычного grep. Игнорирует .gitignore, скрытые мусорные каталоги, временные файлы и бинарники.
3️⃣ Удобный вывод. Сразу видно файл, строку и совпадение без лишней возни.
На практике это очень удобно.
▪️ Примеры:
Ищем ошибку в логах:
rg "connection refused" /var/log
Ищем параметр в конфигах:
rg "proxy_pass" /etc/nginx
Ищем использование переменной в проекте:
rg "DB_HOST" /opt/myapp
▪️ Полезные флаги:
без учета регистра
rg -i error /var/log
только список файлов с совпадением
rg -l "server_name" /etc/nginx
искать только по определенным типам файлов
rg "listen 443" -t conf /etc
искать в скрытых файлах тоже
rg -uu "token"
показать несколько строк контекста
rg -C 2 "fatal" /var/log
▪️ Очень полезный сценарий - искать сразу по нескольким шаблонам:
rg "error|failed|denied" /var/log/auth.log
Или находить TODO/FIXME в проекте:
rg "TODO|FIXME" ~/projects
#linux #ripgrep
🧑💻 NetworkAdmin