Jak używać Bash = ~ Regex, aby dopasować wiele ciągów

Jak używać Bash = ~ Regex, aby dopasować wiele ciągów
Jedną z potężnych cech BASH jest jego zdolność do używania wyrażeń regularnych do dopasowania wzorów w strunach i staje się przydatna w przypadku danych tekstowych w skryptach i automatyzacji zadań. W tym artykule zbadamy, jak korzystać z operatora bash = ~ z wyrażeniami regularnymi, aby dopasować wiele ciągów.

Co to jest = ~ Regex w Bash

Operator bash = ~ pozwala nam dopasować wyrażenie regularne do ciągu i zwraca true, jeśli wyrażenie pasuje do całego ciągu, w drugim przypadku zwraca false.

Za pomocą bash = ~ Regex w celu dopasowania wielu ciągów

W skryptowaniu bash operator „=” służy do dopasowania wyrażenia regularnego do ciągu. Za pomocą Regex możesz dopasować pojedynczy ciąg lub wzór ciągów. Istnieją jednak sytuacje, w których należy dopasować wiele ciągów w jednej operacji, więc oto składnia do dopasowania wielu ciągów:

[[$= ~ $]]

Aby dodatkowo zilustrować, podałem przykład skryptu Bash, który zawiera dwa ciągi i pięć dopasowań, które chcę zrobić, poniżej znajduje się odpowiedni skrypt:

#!/bin/bash
MyString = "Witam i witam w Linuxhint.com "
MyString = "Pozdrowienia i witamy w Linux Mint"
wzory = („hello” „witamy” „Linuxhint” „Mint” „Apple”)
Matched1 = 0
Matched2 = 0
dla wzoru w „$ wzory [@]”
Do
jeśli [[$ MYSTRING = ~ $ wzór]]; Następnie
echo „String1 pasuje do wzoru: $ wzór”
Matched1 = 1
fi
jeśli [[$ MYSTRING = ~ $ wzór]]; Następnie
echo „String2 pasuje do wzoru: $ wzór”
Matched2 = 1
fi
zrobione

Ten kod określa dwa ciągi MyString i MyString oraz wzór tablicy zawierający dopasowanie wzorów. Następnie zapętla się przez wzorce i sprawdza, czy każdy z nich znajduje się w MyString i MyString za pomocą instrukcji IF z operatorem = ~. Jeśli dopasowanie zostanie znalezione w ciągu, kod wyświetla komunikat dotyczący dopasowania wzoru.

Dopasowane = 1 instrukcja wewnątrz pętli dla for dla wskazania, że ​​sprawdzany jest bieżący wzór w ciągu wejściowego ciągu.Jeśli dopasowana zmienna pozostanie 0 po sprawdzeniu wszystkich wzorów, oznacza to, że żaden z wzorów nie został znaleziony w ciągu wejściowego, a oto wyjście dla kodu:

Wniosek

Skrypty Bash zawierają różne opcje automatyzacji zadań. Operator Bash = ~ z wyrażeniami regularnymi służy do dopasowania wielu ciągów, a ten przewodnik ilustruje, jak korzystać z tego operatora za pomocą przykładu pasującego do zestawu próbek z dwoma ciągami.