НАЗВАНИЕ
grep - поиск по шаблону, заданному ограниченным регу-
лярным выражением
СИНТАКСИС
grep [-b] [-c] [-i] [-l] [-n] [-s] [-v] ограниченное_регулярное_выражение [файл ...]
ОПИСАНИЕ
Команда grep сопоставляет строки исходных файлов с шаблоном, заданным ограниченным_регулярным_выражением. Если файлы не указаны, используется стандартный ввод. Обычно каждая успешно сопоставленная строка копируется
на стандартный вывод; если исходных файлов несколько,
перед найденной строкой выдается имя файла. В grep используется компактный недетерминированный алгоритм. В
качестве шаблонов воспринимаются ограниченные регулярные выражения (выражения, имеющие своими значениями цепочки символов, и использующие ограниченный набор алфавитно-цифровых и специальных символов). Они имеют тот
же смысл, что и регулярные выражения в ed(1).
Для экранирования символов $, *, [ ], ^, |, ( ), и \ от интерпретации shell'ом проще всего заключать ограниченное_регулярное_выражение в одинарные кавычки.
В командной строке могут задаваться следующие опции:
-b | Перед каждой строкой ставить номер блока, в котором она находится. Используется для поиска блока по контексту (блоки нумеруются с нуля). |
---|---|
-c | Выдавать только количество успешно сопоставленных строк. |
-i | При сопоставлении не различать большие и малые буквы. |
-l | Выдавать только имена файлов, в которых есть успешно сопоставленные строки, разделяя имена переводами строк. |
-n | Перед каждой строкой ставить ее номер в файле (строки нумеруются с 1). |
-s | Подавить выдачу диагностических сообщений о несуществующих и недоступных для чтения файлах. |
-v | Выдавать только строки, не удовлетворяющие шаблону. |
СМ. ТАКЖЕ
ed(1), egrep(1), fgrep(1), sed(1), sh(1).
КОДЫ ЗАВЕРШЕНИЯ
0 Были успешные сопоставления. 1 Успешных сопоставлений не было. 2 Есть синтаксические ошибки или недоступные файлы (даже если были успешные сопоставления).
СЮРПРИЗЫ
В идеале должна быть одна утилита для поиска по шаблону, однако трудно придумать алгоритм, достигающий во всех случаях приемлемого компромисса между расходом
времени и памяти.
Длина строки ограничена BUFSIZ символами; более длинные
строки обрезаются. Значение BUFSIZ определяется во
включаемом файле Если в конце строки стоит несколько пустых символов (с
кодом 0), grep выполняет сопоставление только до первого из них; в случае успеха выдается вся строка.