Поиск в текстовых файлах в Linux
Синтаксис команды grep:grep [опции] "шаблон_поиска" [файл(ы)]
Примеры использования
# Найти строку "error" в файле
grep "error" file.txt
# Искать слово "error" во всех файлах текущей директории
grep -r "error" .
# Найти строки, где слово "error" — отдельное слово
grep -w "error" file.txt
# Исключить строки, содержащие "error"
grep -v "error" file.txt
# Найти строку "error" без учета регистра
grep -i "error" file.txt
# Подсчитать количество строк с "error"
grep -c "error" file.txt
# Вывести только совпадающие слова
grep -o "error" file.txt
# Искать совпадения в нескольких файлах
grep "error" file1.txt file2.txt
# Показать строки с номерами, где найдено совпадение
grep -n "error" file.txt
# Найти строки, начинающиеся с "ERROR"
grep "^ERROR" file.txt
# Искать строки, заканчивающиеся на "done"
grep "done$" file.txt
# Найти строки, содержащие числа
grep "[0-9]" file.txt
# Искать строки с текстом "error" и выводить имя файла
grep -H "error" file.txt
# Исключить определенные файлы из поиска
grep -r --exclude="*.log" "error" .
# Использовать сложные регулярные выражения
grep -E "error|fail" file.txt
# Комбинировать с другими командами
dmesg | grep "disk"
# Поиск с подсветкой совпадений
grep --color=always "error" file.txtЧасто используемые опции
-i— Игнорировать регистр-v— Исключить строки, содержащие совпадения-r— Рекурсивный поиск в директориях-n— Показать номера строк с совпадениями-w— Искать точные слова-c— Подсчитать количество совпадений-o— Выводить только совпадающие слова-H— Выводить имя файла, где найдено совпадение