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