Утилита grep#
Описание#
Утилита grep используется для поиска и фильтрации строк в файлах, которые соответствуют определенному шаблону/регулярному выражению, или для фильтрации вывода других утилит.
Синтаксис утилиты:
grep <options> <patterns> <files>
Где:
<options>- опции;<patterns>- шаблоны;<files>- файлы.
Опции#
Часто используемые опции утилиты представлены в таблице ниже.
Опция |
Описание |
|---|---|
|
Выводит сообщение об использовании утилиты и завершает работу |
|
Выводит номер версии |
|
Интерпретирует шаблоны как расширенные регулярные выражения (ERE) |
|
Интерпретирует шаблоны как строки, а не регулярные выражения |
|
Интерпретирует шаблоны как обычные регулярные выражения |
|
Игнорирует регистр символов в шаблонах и входных данных при проведении |
|
Инвертирует логику проверки совпадения с шаблоном; обрабатываться будут строки, которые с ним не совпадают |
|
Выводит число строк, совпадающих с шаблоном, вместо вывода самих строк |
|
Использует указанный шаблон |
|
Считывает все файлы в каждом каталоге рекурсивно, следуя символическим ссылкам только в том случае, если они находятся в командной строке |
|
Выделит соответствующие элементы с помощью ESC-последовательностей, чтобы отобразить их в цвете на терминале. Цвета определяются переменной окружения |
|
Отображает перед каждой строкой вывода значение смещения во входном файле. Если указана опция |
|
Выводит только совпадающие непустые части строк, причем каждая такая часть выводится в отдельной строке вывода |
|
Обработает бинарный файл как текстовый |
|
Прекратит чтение файла после того, как |
Примеры использования#
Чтобы вывести строки файла
path_to_file, которые соответствуют шаблонуsearch_pattern, представляющему собой регулярное выражение в расширенном синтаксисе, и при этом игнорировать регистр символов, введите команду:grep --extended-regexp --ignore-case "search_pattern" path_to_fileАналогичная команда с использованием сокращенной формы опций:
grep -E -i "search_pattern" path_to_fileЧтобы вывести количество записей в файле
path_to_file, не содержащих строкуERRORбез учета регистра символов, введите команду:grep -c -v -i "ERROR" path_to_file
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
man grep
Или:
grep --help