2025-03-14 21:59:59 -06:00
|
|
|
|
# grep
|
|
|
|
|
|
|
|
|
|
|
|
> Поиск по шаблону в файлах используя регулярные выражения.
|
2026-02-18 06:55:01 -07:00
|
|
|
|
> Смотрите также: `regex`.
|
2025-03-14 21:59:59 -06:00
|
|
|
|
> Больше информации: <https://www.gnu.org/software/grep/manual/grep.html>.
|
|
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
- Искать по шаблону в файлах:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
`grep "{{шаблон_поиска}}" {{путь/к/файлу1 путь/к/файлу2 ...}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
|
|
- Искать по заданной подстроке (регулярные выражения отключены):
|
|
|
|
|
|
|
2025-03-19 19:23:44 -06:00
|
|
|
|
`grep {{[-F|--fixed-strings]}} "{{заданная_подстрока}}" {{путь/к/файлу}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
- Искать по шаблону во всех файлах в директории рекурсивно, исключая двоичные файлы:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
`grep {{[-rI|--recursive --binary-files=without-match]}} "{{шаблон_поиска}}" {{путь/к/директории}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
- Вывести 3 строки контекста вокруг, до или после каждого совпадения:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2025-07-24 22:27:13 -06:00
|
|
|
|
`grep {{--context|--before-context|--after-context}} 3 "{{шаблон_поиска}}" {{путь/к/файлу}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
- Вывести имя файла и номер строки для каждого совпадения с цветным выводом:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2025-07-24 22:27:13 -06:00
|
|
|
|
`grep {{[-Hn|--with-filename --line-number]}} --color=always "{{шаблон_поиска}}" {{путь/к/файлу}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
- Искать строки, где есть совпадение по шаблону поиска, выводя только совпадающую часть текста:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2025-03-19 19:23:44 -06:00
|
|
|
|
`grep {{[-o|--only-matching]}} "{{шаблон_поиска}}" {{путь/к/файлу}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
- Искать строки в стандартном потоке ввода, которые не совпадают с шаблоном поиска:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
2025-03-19 19:23:44 -06:00
|
|
|
|
`cat {{путь/к/файлу}} | grep {{[-v|--invert-match]}} "{{шаблон_поиска}}"`
|
2026-02-18 06:55:01 -07:00
|
|
|
|
|
|
|
|
|
|
- Искать, используя расширенные регулярные выражения (поддержка `?`, `+`, `{}`, `()`, и `|`), без учета регистра:
|
|
|
|
|
|
|
|
|
|
|
|
`grep {{[-Ei|--extended-regexp --ignore-case]}} "{{шаблон_поиска}}" {{путь/к/файлу}}`
|