Files
tldr/pages.uk/common/grep.md
2024-10-11 21:27:22 +05:30

37 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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