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

40. Семейство фильтров grep.

Команда grep.

Формат команды: grep параметр(ы) шаблон имя_файла(ов) .

Команда grep применяется для поиска и отображения данных в указанном ей файле. Команда grep осуществляет поиск в содержимом одного или нескольких файлов на предмет сравнения с регулярным выражением или символьным шаблоном. Если совпадение будет найдено, то grep выведет каждую строку, содержащую совпадение, изменение самого файла при этом не происходит. Команда может также использоваться совместно с программным каналом при перенаправлении потока стандартного вывода другой команды на себя (команда | grep –опции шаблон).

Таблица 1 – Параметры команды grep

*****************************

Параметр

Описание

-i

Задает режим игнорирования регистра, символы верхнего и нижнего регистра считаются идентичными.

-l

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

-n

Задает простановку относительного номера к каждой строке в файле.

-v

Меняет условие поиска на обратные для выдачи только тех строк, которые не соответствуют шаблону.

-c

Задает вывод только количества строк, которые содержат шаблон.

-w

Задает поиск выражения как слова.

*****************************

Таблица 2 – Метасимволы в регулярных выражениях

*****************************

Метасимвол

Значение

Пример

Результат

^

Знак начала строки

‘^шаблон’

Выбор всех строк, которые начинаются с «шаблон»

$

Знак конца строки

‘шаблон$’

Выбор всех строк, которые заканчиваются на «шаблон»

.

Любой один символ

‘ш….н’

Выбор строк, которые содержат символ «ш» и через четыре символа символ «н»

[ ]

Соответствует одной позиции в шаблоне

‘[Шш]аблон’

Выбор строк, которые содержат «Шаблон» и «шаблон»

[^]

Соответствует одному символу не в диапазоне поиска

‘[^а-р]аблон’

Выбор строк, которые не содержат символы в диапазоне от «а» до «р» и находящихся перед «аблон»

*

Соответствует любому количеству символов

‘[а-я]*’

Выбор алфавитных символов нижнего регистра

*****************************

Команда egrep.

Команда egrep осуществляет поиск в содержимом одного или нескольких файлов заданного шаблона с использованием расширенного набора метасимволов в регулярных выражениях.

Формат команды: egrep –параметры шаблон имя_файла.

Таблица 3 – Расширенный набор метасимволов команды egrep

*****************************

Метасимвол

Описание

Пример

Результат

+

Соответствует одному или более предшествующих символов

‘[а-я]+аблон’

Выбор одного или более символов нижнего регистра, которые находятся в диапазоне от «а» до «я» и за которыми следует «аблон»

в|п

Соответствует одному из «в» или «п»

‘яблоко|груша’

Выбирается яблоко и/или груша

( | )

Символы групп

‘(1|2)+’

‘(к|р)+орова’

Выбор одного или более появлений. Например, «1» или «2» и «корова» или «ророва»

*****************************

Найти все строки в файле gauss2.plx, которые содержат символ «Y» и затем следующим символом имеют символы «H» или «L». Формат команды будет следующий.

Команда fgrep.

Команда fgrep осуществляет поиск в файле ключевого выражения как фиксированной строки. Ее работа отличается от работы grep и egrep, т.к. она обрабатывает все символы и любые метасимволы регулярных выражений, указанные в командной строке как обычные символы, за исключением знака вопроса (?) и знака доллара ($). Команду fgrep можно использовать для поиска словосочетаний в файлах, содержащих метасимволы. Формат команды такой же, как у grep и egrep: fgrep –параметр(ы) шаблон имя_файла(ов).

Соседние файлы в папке KTNI_Kozlov_otvety