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