GREP(1) 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 выполняет сопоставление только до перво- го из них; в случае успеха выдается вся строка.