Работа с регулярными выражениями в Bash: примеры и код

Метод 1: использование команды grep

# Example: Match a pattern in a file
pattern="hello"
file="example.txt"
grep "$pattern" "$file"

Метод 2: использование команды sed

# Example: Replace a pattern in a file
pattern="hello"
replacement="world"
file="example.txt"
sed "s/$pattern/$replacement/g" "$file"

Метод 3: использование команды awk

# Example: Print lines matching a pattern
pattern="hello"
file="example.txt"
awk "/$pattern/" "$file"

Метод 4. Использование оператора =~в сценарии Bash

# Example: Check if a string matches a pattern
pattern="^hello"
string="hello world"
if [[ $string =~ $pattern ]]; then
    echo "Match found"
else
    echo "No match"
fi

Метод 5: использование команды expr

# Example: Extract a substring using a pattern
pattern="hel\(lo\)"
string="hello world"
result=$(expr "$string" : "$pattern")
echo "$result"

Метод 6: использование массива BASH_REMATCHв сценарии Bash

# Example: Extract capture groups from a string
pattern="hel(lo)"
string="hello world"
if [[ $string =~ $pattern ]]; then
    echo "Match found"
    echo "Capture group 1: ${BASH_REMATCH[1]}"
else
    echo "No match"
fi