Ansible regex_search do filtrowania danych

Ansible regex_search do filtrowania danych

Dzisiaj odkryjemy kolejny filtr narzędzia Ansible, którym jest filtr wyszukiwania od regularności. Odkryjemy, jak funkcjonuje wyszukiwanie regularności Ansible. Zbadamy również, w jaki sposób wyszukiwanie Regex może być przydatne podczas korzystania z Ansible do znalezienia pasującego sznurka lub postaci w Ansible Playbook.

W Ansible Reg-Ex oznacza wyrażenie regularne, a wyszukiwanie oznacza coś, aby coś znaleźć. Tak więc filtr Regex_Search w Ansible jest rodzajem skanowania, który szuka poszczególnych sekwencji, a nie poszczególnych słów i wyrażeń. Zamiast tworzyć wiele dosłownych zapytań wyszukiwania, Regex umożliwia znalezienie określonego ciągu znaków za pomocą wyrażeń regularnych. Aby odzyskać określoną sekwencję, Regex współpracuje z zapytaniem i metacharacterami. Podstawowe elementy budowlane wyrażenia regularnego to Metacharacters. Znalezienie określonych strin, takich jak numery bezpieczeństwa, numery licencji, adresy stron internetowych, adresy mailingowe, numery rejestracyjne itp., Które pasują do określonych sekwencji, można wykonać za pomocą wyrażeń regularnych.

Parametry Regex_Search

Parametr jest unikalnym typem zmiennej, która jest stosowana przez dowolny filtr, wtyczkę itp. W celu odnoszenia się do określonego bitu danych podanych filtra jako wartości wejściowej w Ansible. Te fragmenty informacji wskazują wartości parametrów, które zostaną użyte do wykonywania lub inicjowania filtra. Poniżej znajdują się wymagane i opcjonalne parametry, których zamierzamy użyć podczas korzystania z filtra Regex_Serachh w Playbooku Ansible.

Wymagane parametry

Poniżej znajdują się parametry, które są wymagane, abyśmy mogli znaleźć wzór w dostarczonym ciągu.

Ciąg wejściowy: Przyjmiemy dane wejściowe jako ciąg, abyśmy mogli znaleźć wzór na nim.

Opcjonalne parametry

Są to parametry, których użyjemy, jeśli będzie potrzeba podczas wyszukiwania określonego wzoru z ciągu wejściowego.

Ciąg Regex: Regex jest wyrażeniem regularnym, które zawiera ciąg i określa pasujący wzór podczas filtrowania.

IgnorCase: To parametr logiczny. Jeśli ciąg wyrażeń regularnych jest prawdziwy, sprawi, że sprawa wyszukiwania jest wrażliwość i jeśli nie jest to prawdą, będzie zmuszony do rozwspialeziania się przypadków.

Multiline: Jest to także parametr logiczny wyszukiwania regularnego w Ansible. Jeśli skan jest prawdziwy, wyszukiwanie zakończeń linii i jeśli jest to fałszywe, nie będzie szukać zakończenia linii.

Wymagania wstępne filtra ansible Regex_search

Jeśli chcesz kontynuować wyszukiwanie regularne, założymy, że spełniasz następujące warunki wstępne, które podano poniżej:

  • Chociaż chcemy pracować w narzędziu Ansible i chcemy wdrożyć filtr wyszukiwania Regex, będziemy wymagać, abyś musiał mieć oprogramowanie związane z Ansible w swoim systemie. W tym samouczku używamy Ansible 2.12 lub późniejsza wersja.
  • Aby wykonać filtr na zdalnych serwerach, potrzebujemy kontrolera, a tutaj Ansible Server jest głównym kontrolerem, który konfiguruje filtr od regularności na serwerze lokalnego hosta.

Po prostu zagłębiajmy się w filtr wyszukiwania regularnego i sprawdźmy, w jaki sposób Ansible go wdraża, używając kilku sytuacji.

Przykład 01: Dopasowanie ciągu „dwa” za pomocą filtra wyszukiwania Regex

Oto pierwszy przykład, w którym znajdziemy „Dwa sznurki z przykładowego dokumentu, który został już utworzony i zawiera w nim niektóre ciągi. Kiedy chcemy wykonać filtry w Ansible, potrzebujemy podręcznika, w którym piszemy zadania. Aby to zrobić, następujące stwierdzenie, których zamierzamy użyć do utworzenia podręcznika w Ansible.

[root@master ansible]# nano Regex_search.yml

Teraz podręcznik jest inicjowany w nowym terminalu Ansible. Zacznijmy pisać wymagane instrukcje w podręczniku, abyśmy mogli uruchomić filtr. Najpierw napiszmy nazwę urządzenia hosta, w którym chcemy skonfigurować filtr wyszukiwania Regex. Używamy lokalnego hosta do wdrożenia filtra. Otrzymamy tylko wymagane dane lokalnego hosta, więc mamy fałszywe opcję gromadzenia. W pierwszym zadaniu otrzymaliśmy dane z próbki.Dokument TXT, a następnie przechowywał go w zmiennej „out”, która została zadeklarowana za pomocą opcji rejestru podręcznika. Następnie debugujemy zadanie, abyśmy mogli przeszukać ciąg „Dwa” z zawartości zmiennej out i wyświetlić go na terminalu konsolowym Ansible.

- Gospodarze: Localhost
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: przechowuj zawartość próbki.TXT w zmiennej „out”
Shell: Cat Próbka.tekst
Zarejestruj się: Out
- Nazwa: Wyświetl zawartość zmiennej „out”, dopasowując „dwa”
odpluskwić:
MSG: "out.stdout | Regex_search ('.*dwa.*', ignorecase = true) "

Kolejnym krokiem jest wykonanie następującego wiersza, aby uzyskać frazę, która ma ciąg „dwa”, po napisaniu zadań dla podręcznika.

[root@master ansible]# ansible-playbook Regex_search.yml

Wyrażenie ze zmiennej out, która zawiera słowo „dwa” jest wyświetlane w wyjściu za pomocą filtra wyszukiwania regularnego, który został pomyślnie wykonany i można je zobaczyć za pomocą sygnału OK.

Przykład 2: Pokaż ciąg „Plik” ze zadeklarowanej zmiennej w Ansible

Teraz zamierzamy zaimplementować drugi scenariusz, w którym chcemy znaleźć dane ze zadeklarowanej zmiennej w Ansible. Najpierw ponownie otworzymy podręcznik:

[root@master ansible]# nano Regex_Searcg.yml

W tym przykładzie zadeklarowaliśmy nazwę zmiennej „my_var”, a następnie zapisaliśmy treść w zmiennej. Teraz chcemy uzyskać określony ciąg ze zmiennej, abyśmy musieli zdefiniować zadanie w podręczniku. Jak pokazano, użyliśmy również opcjonalnych parametrów filtra Regex_Search w opcji debugowania na końcu podręcznika. Te parametry są parametrem wielopoziomowym i ignorcase, który zawiera wartość „prawdziwej”.

- Gospodarze: Localhost
GACED_FAFTS: FAŁSZ
vars:
my_var: „Przetestuj pierwszy plik \ nTest drugi plik \ nTest trzeci plik”
Zadania:
- Nazwa: Wyświetl zawartość zmiennej „MY_VAR”, dopasowując „plik”
odpluskwić:
MSG: "my_var | Regex_findall (''.*plik.*', multILine = true, ignorecase = true) "

Teraz wykonamy podręcznik i zaprezentujemy wyniki podręcznika w terminalu:

[root@master ansible]# ansible-playbook Regex_search.yml

Oto pożądane wyniki pokazane poniżej:

Wniosek

Dokonaliśmy szczegółowych informacji o tym, czym jest filtr wyszukiwania regularnego w Ansible i jak korzystać z filtra w podręczniku Ansible i co otrzymamy w zamian. Aby poprawnie zrozumieć filtr wyszukiwania Ansible Regex, wykorzystaliśmy kilka przypadków.