Bash:
Использование регулярных выражений
Как использовать:
# Поиск по шаблону
echo "I love to code in Bash" | grep -oP 'code'
# Вывод:
code
# Замена строки с использованием regex и sed
echo "Bash 2023" | sed -E 's/[0-9]+/2024/'
# Вывод:
Bash 2024
# Извлечение подстроки с помощью regex
echo "Error: Line 42" | grep -oP '(?<=Line )\d+'
# Вывод:
42
Глубокое погружение
Регулярные выражения существуют с 1950-х годов, впервые были предложены математиком Стивеном Клини. Альтернативы regex в Bash включают использование awk
или perl
, которые имеют собственные возможности regex. С точки зрения реализации, Bash использует grep для поиска соответствий, sed
для поиска и замены, и оператор =~
внутри [[ ]]
для условных выражений. Имейте в виду, что regex может различаться между инструментами (grep
, egrep
, sed
и awk
), так что знайте, с каким “вкусом” вы работаете.