tldr/pages.ru/common/grep.md

2.1 KiB
Raw Permalink Blame History

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 "{{шаблон_поиска}}"