Учебное пособие по регулярным выражениям в Linux: пример регулярного выражения Grep
Что такое регулярные выражения Linux?
Регулярные выражения Linux — это специальные символы, которые помогают искать данные и сопоставлять сложные шаблоны. Регулярные выражения сокращаются до «регулярного выражения» или «регулярного выражения». Они используются во многих программах Linux, таких как grep, bash, rename, sed и т. д.
Типы регулярных выражений
Для простоты понимания давайте изучим различные типы регулярных выражений один за другим.
Нажмите здесь если видео недоступно
Основные регулярные выражения
Некоторые из часто используемых команд с регулярными выражениями: tr, sed, vi и GREP. Ниже перечислены некоторые основные регулярные выражения.
Символ | Описание |
---|---|
. | заменяет любой символ |
^ | соответствует началу строки |
$ | соответствует концу строки |
* | совпадает с предыдущим символом ноль или более раз |
\ | Представлять специальные символы |
() | Группирует регулярные выражения |
? | Соответствует ровно одному символу |
Посмотрим на пример.
Выполните образец cat, чтобы просмотреть содержимое существующего файла.
Найдите контент, содержащий букву «а».
"^' соответствует началу строки. Давайте искать контент, который НАЧИНАЕТСЯ с
Фильтруются только строки, начинающиеся с символа. Строки, не содержащие в начале символа «а», игнорируются.
Давайте рассмотрим другой пример –
Выберите только те строки, которые заканчиваются на t, используя $
Интервальные регулярные выражения
Эти выражения сообщают нам о количестве вхождений символа в строку. Они есть
Выражение | Описание |
---|---|
{п} | Соответствует предыдущему символу, встречающемуся ровно n раз. |
{n, m} | Соответствует предыдущему символу, встречающемуся n раз, но не более m. |
{н, } | Соответствует предыдущему символу только тогда, когда он появляется n раз или более. |
Пример:
Отфильтровать все строки, содержащие символ «p».
Мы хотим проверить, что символ «p» появляется в строке ровно 2 раза один за другим. Для этого синтаксис будет таким:
cat sample | grep -E p\{2}
Примечание. К этим регулярным выражениям необходимо добавить -E.
Расширенные регулярные выражения
Эти регулярные выражения содержат комбинации более чем одного выражения. Некоторые из них:
Выражение | Описание |
---|---|
\+ | Соответствует одному или нескольким вхождениям предыдущего символа |
\? | Соответствует нулю или одному вхождению предыдущего символа |
Пример:
Поиск всех символов 't'
Предположим, мы хотим отфильтровать строки, в которых символ «a» предшествует символу «t».
Мы можем использовать команду типа
cat sample|grep "a\+t"
Расширение скобки
Синтаксис раскрытия фигурных скобок представляет собой либо последовательность, либо список элементов, разделенных запятыми, внутри фигурных скобок «{}». Начальный и конечный элементы последовательности разделяются двумя точками «..».
Некоторые примеры:
В приведенных выше примерах команда echo создает строки, используя раскрытие фигурных скобок.
Резюме:
- Регулярные выражения — это набор символов, используемый для проверки шаблонов в строках.
- Их также называют «регулярное выражение» и «регулярное выражение».
- Важно выучить регулярные выражения для написания скриптов
- Некоторые основные регулярные выражения:
Символ | Описание |
---|---|
. | заменяет любой символ |
^ | соответствует началу строки |
$ | соответствует концу строки |
- Некоторые расширенные регулярные выражения:
Выражение | Описание |
---|---|
\+ |
Соответствует одному или нескольким вхождениям предыдущего символа |
\? | Соответствует нулю или одному вхождению предыдущего символа |
- Некоторые интервальные регулярные выражения:
Выражение | Описание |
---|---|
{п} | Соответствует предыдущему символу, встречающемуся ровно n раз. |
{n, m} | Соответствует предыдущему символу, встречающемуся n раз, но не более m. |
{н, } | Соответствует предыдущему символу только тогда, когда он появляется n раз или более. |
- Расширение скобок используется для генерации строк. Это помогает создавать несколько строк из одной.