tldr/pages.ru/common/grep.md

37 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# grep
> Поиск по шаблону в файлах используя регулярные выражения.
> Больше информации: <https://www.gnu.org/software/grep/manual/grep.html>.
- Искать в файле по шаблону:
`grep "{{шаблон_поиска}}" {{путь/к/файлу}}`
- Искать по заданной подстроке (регулярные выражения отключены):
`grep --fixed-strings "{{заданная_подстрока}}" {{путь/к/файлу}}`
- Искать по шаблону во всех файлах в директории рекурсивно, показывая номера строк, там где подстрока была найдена, исключая бинарные(двоичные) файлы:
`grep --recursive --line-number --binary-files={{without-match}} "{{шаблон_поиска}}" {{путь/к/директории}}`
- Искать, используя расширенные регулярные выражения (поддержка `?`, `+`, `{}`, `()` и `|`), без учета регистра:
`grep --extended-regexp --ignore-case "{{шаблон_поиска}}" {{путь/к/файлу}}`
- Вывести 3 строки содержимого, до или после каждого совпадения:
`grep --{{context|before-context|after-context}}={{3}} "{{шаблон_поиска}}" {{путь/к/файлу}}`
- Вывести имя файла и номер строки для каждого совпадения:
`grep --with-filename --line-number "{{шаблон_поиска}}" {{путь/к/файлу}}`
- Искать строки, где есть совпадение по шаблону поиска, вывод только совпадающей части текста:
`grep --only-matching "{{шаблон_поиска}}" {{путь/к/файлу}}`
- Искать строки в стандартном потоке ввода которые не совпадают с шаблоном поиска:
`cat {{путь/к/файлу}} | grep --invert-match "{{шаблон_поиска}}"`