GREP(1)

НАЗВАНИЕ
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 выполняет сопоставление только до первого из них; в случае успеха выдается вся строка.