Unix Man (Справочное руководство)

         

EGREP(1)


EGREP(1)

НАЗВАНИЕ


egrep - поиск по шаблону, заданному полным регулярным выражением

СИНТАКСИС

egrep [-b] [-c] [-i] [-l] [-n] [-v] [-e специальное_выражение] [-f файл] полное_регулярное_выражение [файл ...]

ОПИСАНИЕ


Команда egrep сопоставляет строки исходных файлов с шаблоном, заданным полным_регулярным_выражением. Если файлы не указаны, используется стандартный ввод. Обычно каждая успешно сопоставленная строка копируется на стандартный вывод; если исходных файлов несколько, пе- ред найденной строкой выдается имя файла. В egrep ис- пользуется быстрый детерминированный алгоритм, которому иногда может требоваться экспоненциальное увеличение об ема используемой памяти. В качестве шаблонов воспри- нимаются полные регулярные выражения (выражения, имею- щие своими значениями цепочки символов, и использующие полный набор алфавитно-цифровых и специальных симво- лов). Трактовка полных_регулярных_выражений такая же, как в , с той только разницей, что не допускается конструкция \( ... \), но воспринимаются следующие рас- ширения:

1. Полное регулярное выражение, заканчивающееся зна- ком +. Оно сопоставляется с одним или несколькими вхождениями этого выражения.

2. Полное регулярное выражение, заканчивающееся зна- ком ?. Оно сопоставляется с одним вхождением этого выражения или пустой цепочкой символов.

3. Два полных регулярных выражения, разделенные зна- ком | или символом перевода строки. Результат со- поставляется с цепочками, удовлетворяющими хотя бы одному из операндов.

4. Для изменения порядка действий полное регулярное выражение может быть заключено в скобки ( и ).

Для экранирования символов $, *, [, ^, |, (, ) и \ от интерпретации shell'ом проще всего заключать полное_ре- гулярное_выражение в одинарные кавычки.

Старшинство операций: [ ], затем * ? +, затем конкате- нация, затем | и перевод строки.

В командной строке могут задаваться следующие опции:

-b Перед каждой строкой ставить номер блока, в котором она находится. Используется для поиска блока по контексту (блоки нумеруются с нуля). -c Выдавать только количество успешно сопоставленных строк. -i При сопоставлении не различать большие и малые буквы. -l Выдавать только имена файлов, в которых есть успешно сопоставленные строки, разделяя имена переводами строк. -n Перед каждой строкой ставить ее номер в файле (строки нумеруются с 1). -v Выдавать только строки, не удовлетворяющие шаблону. -e специальное_выражение Искать специальное_выражение (полное регулярное выражение, начинающееся со знака -). -f файл Полные_регулярные_выражения читаются из файла.

СМ. ТАКЖЕ


ed(1), , , , .

КОДЫ ЗАВЕРШЕНИЯ

0 Были успешные сопоставления. 1 Успешных сопоставлений не было. 2 Есть синтаксические ошибки или недоступные файлы (даже если были успешные сопоставления).

СЮРПРИЗЫ


В идеале должна быть одна утилита для поиска по шаблону, однако трудно придумать алгоритм, достигающий во всех случаях приемлемого компромисса между расходом времени и памяти.

Длина строки ограничена BUFSIZ символами; более длинные строки обрезаются. Значение BUFSIZ определяется во включаемом файле .



Содержание раздела