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