Учебное пособие по регулярным выражениям в 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 раз или более.
  • Расширение скобок используется для генерации строк. Это помогает создавать несколько строк из одной.