Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Команды.doc
Скачиваний:
13
Добавлен:
23.03.2015
Размер:
187.9 Кб
Скачать

Команда grep

Синтаксис команды

grep [-с] [-h] [-i ] [-l] [- n ] [-r] [-v] [- x ] [-E] [- F ] шаблон [входной_файл...] grep [-с] [- h ] [-i] [- l ] [-n] [- r ] [-v] [- x ] [-E] [- F ] [- e шаблон ] [- f файл] [входной_файл...]

Описание команды

Команды семейства grepпросматривают заданныевходные файлы(по умолчанию – файл стандартного ввода) в поисках строк, содержащих фрагменты, соответствующие заданномушаблону. По умолчанию каждая найденная строка копируется в файл стандартного вывода. Данное описание не является полным описанием команды, а адаптировано применительно к настоящему курсу. Для получения полного описания обращайтесь к UNIXManual(командаman).

Шаблоны, используемые командойgrep, являются базовыми регулярными выражениями. Командаgrepиспользует компактный недетерминированный алгоритм. Шаблонами в командеegrepмогут быть расширенные регулярные выражения, и используется быстрый детерминированный алгоритм, однако размер требуемой для работы этого алгоритма памяти определяется иногда экспоненциальной зависимостью. Вfgrepобразцами являются фиксированные цепочки символов, а используемый алгоритм является и быстрым, и компактным. Если входных файлов несколько, то по умолчанию перед выводимыми строками печатается имя соответствующего файла.

Опции команды grep:

- c

Вывести количество найденных строк, а сами строки не выводить. Если одновременно указана опция -v, то выводится количество строк, не содержащих искомые фрагменты.

- e шаблон

Задает шаблон, обычно применяется, еслишаблонначинается со знака дефис.

-f файл

Значения шаблонов читаются из заданного файла. Каждый шаблон должен занимать одну строку. Если заданный файл пуст, то поиск не выполняется.

-h

Не выводить имя файла перед найденными строками, если выполняется поиск в нескольких файлах.

-i

Игнорировать различие между прописными и строчными буквами (только для grepиfgrep).

-l

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

-n

Перед каждой строкой выводить её номер в данном файле.

-r

Рекурсивно просматривать подкаталоги текущего каталога.

-v

Вывести только те строки, которые не сопоставляются с заданным шаблоном.

-x

Вывести только строки, которые полностью сопоставляются с шаблоном (только для fgrep).

-w

Вывести строки, в которых шаблон сопоставляется с целым словом.

-E

Интерпретировать шаблон как расширенное регулярное выражение.

-F

Интерпретировать шаблон, как список фиксированных строк.

Доступны также команды egrepиfgrep. Командаegrepв точности соответствуетgrep - E, а командаfgrepв точности соответствуетgrep- F.