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.