Иногда необходимо вывести информацию, содержание которой вы знаете, а вот расположение – нет. Именно для таких случаев существуют регулярные выражения. Перечислю наиболее используемые из них, хотя оговорюсь сразу, что на самом деле регулярных выражений намного больше.
Регулярное выражение – средство указания шаблона для поиска его в тексте.
^ - начало строки
$ - конец строки
[] - любой символ из заключённых в скобки. Поддерживает диапазоны,
например [0-9] – цифры, [a-zA-Z] -все буквы латинского алфавита
[^] - любой симвло за исключением заключенных в скобки
\ - отменяет действие любого метасимвола. Например \$ - обозначает
символ $, а не \ в конце строки, а \\$ - символ \ в конце строки.
. - любой один символ.
* - 0 или более раз в тексте встречается предыдущий шаблон. Так
например выражение .* означает любой набор символов.
Регулярные выражения поддержкиваются практически всеми текстовыми редакторами Linux. Существует также программа фильтрации текста grep. Она также использует регулярные выражения. Её мы с Вами и рассмотрим.
grep regexp file – утилита фильтрации текста. Ищет в файле file строки, в которых встречается выражение, соответствующее шаблону regexp и выводит их на стандартный вывод.
Рисунок 43.
Рисунок 44.
Как правило, утилиту grep используют не только для фильтрации текстовых файлов, но и, например, для фильтрации вывода каких-либо команд.
В примере ниже мы с вами попытаемся найти все файлы, начинающиеся на букву “f” в каталога bin:
Рисунок 45.
Подробнее о команде grep можно узнать из страницы справочного руководства man (man grep).