5.4. Фильтрование информации. Регулярные выражения. Команда grep.


5.4. Фильтрование информации. Регулярные выражения. Команда grep.


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

Регулярное выражение – средство указания шаблона для поиска его в тексте.

^ - начало строки

$ - конец строки

[] - любой символ из заключённых в скобки. Поддерживает диапазоны,

     например [0-9] – цифры, [a-zA-Z] -все буквы латинского алфавита

[^] - любой симвло за исключением заключенных в скобки

\ - отменяет действие любого метасимвола. Например \$ - обозначает

    символ $, а не \ в конце строки, а \\$ - символ \ в конце строки.

. - любой один символ.

* - 0 или более раз в тексте встречается предыдущий шаблон. Так

    например выражение .* означает любой набор символов.

Регулярные выражения поддержкиваются практически всеми текстовыми редакторами Linux. Существует также программа фильтрации текста grep. Она также использует регулярные выражения. Её мы с Вами и рассмотрим.

grep regexp file – утилита фильтрации текста. Ищет в файле file строки, в которых встречается выражение, соответствующее шаблону regexp и выводит их на стандартный вывод.


Рисунок 43.


Рисунок 44.


Как правило, утилиту grep используют не только для фильтрации текстовых файлов, но и, например, для фильтрации вывода каких-либо команд.

В примере ниже мы с вами попытаемся найти все файлы, начинающиеся на букву “f” в каталога bin:


Рисунок 45.


Подробнее о команде grep можно узнать из страницы справочного руководства man (man grep).



Петродворец

2017