Шпаргалка по
grep
grep — это мощный инструмент для поиска текста в файлах на основе регулярных выражений.
Основные команды:
1. Поиск строки в файле:
grep "строка" имя_файла
Ищет указанную строку в файле.
2. Поиск в нескольких файлах:
grep "строка" файл1 файл2
3. Поиск рекурсивно:
grep -r "строка" /путь/к/каталогу
Ищет строку во всех файлах указанного каталога.
4. Игнорирование регистра:
grep -i "строка" имя_файла
5. Показать номер строки:
grep -n "строка" имя_файла
6. Вывод строк, не содержащих шаблон:
grep -v "строка" имя_файла
7. Подсветка совпадений:
grep --color "строка" имя_файла
8. Подсчитать количество совпадений:
grep -c "строка" имя_файла
Расширенные команды:
1. Использование регулярных выражений:
grep -E "регулярное_выражение" имя_файла
Или:
egrep "регулярное_выражение" имя_файла
2. Поиск с указанием количества строк до и после совпадения:
grep -A 3 -B 2 "строка" имя_файла
-A
(after) и
-B
(before) указывают количество строк, которые будут выведены до и после найденной строки.
3. Поиск только имени файла:
grep -l "строка" *
4. Инвертированный поиск файлов:
grep -L "строка" *
Показывает файлы, в которых не найдено совпадений.
Полезные опции:
—
-w
— ищет полные слова.
—
-o
— выводит только совпавшие строки.
—
-q
— тихий режим, без вывода в терминал, используется для проверки совпадений.
Примеры:
1. Поиск строки «error» в логах:
grep "error" /var/log/syslog
2. Поиск строк с IP-адресами:
grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' имя_файла
3. Поиск строки и запись результата в файл:
grep "pattern" имя_файла > output.txt