I dag skal vi oppdage et annet filter av Ansible -verktøyet som er Regex søkefilter. Vi skal oppdage hvordan Ansible's Regex -søkefunksjoner. Vi vil også utforske hvordan regex -søk kan være nyttig når du bruker Ansible for å finne en matchende streng eller karakter i Ansible Playbook.
I Ansible betyr reg-ex regelmessig uttrykk og søket er for å finne noe. Så Regex_search -filteret i Ansible er en slags kompleks skanning som søker spesielle sekvenser i stedet for spesielle ord og uttrykk. I stedet for å lage mange bokstavelige søkespørsmål, gjør Regex det mulig å finne en spesifikk karakterstreng ved hjelp av vanlige uttrykk. For å hente en bestemt sekvens, jobber Regex med et søk og metakaraktører. Regelmessig uttrykks grunnleggende bygningselementer er metakaraktører. Å finne noen spesifikke strenger som sikkerhetsnumre, lisensnumre, websider adresser, postadresser, registreringsnumre osv. Som passer inn i spesifikke sekvenser kan gjøres ved hjelp av vanlige uttrykk.
Parametre for regex_search
Parameteren er en unik type variabel som brukes av et hvilket som helst filter, plugin osv. Disse informasjonsbiter indikerer verdiene til parametrene som skal brukes til å utføre eller starte filteret. Nedenfor er de nødvendige og valgfrie parametrene som vi skal bruke mens vi bruker REGEX_SERACHH -filteret i Ansible Playbook.
Nødvendige parametere
Følgende er parametrene som kreves slik at vi kan finne mønsteret i en medfølgende streng.
Inngangsstreng: Vi tar innspill som en streng slik at vi kan finne mønsteret mot det.
Valgfrie parametere
Dette er parametrene som vi vil bruke hvis det er behov mens du søker etter et spesifikt mønster fra inngangsstrengen.
Regex streng: Regex er et vanlig uttrykk som inneholder en streng og spesifiserer matchende mønster mens du filtrerer.
Ignorecase: Det er en boolsk parameter. Hvis den vanlige uttrykkets streng er sann, vil den gjøre søket etter saken, og hvis det ikke er sant, vil den bli tvunget til å være case-ufølsom.
Multiline: Det er også en boolsk parameter for regex -søk i Ansible. Hvis skanningen er sant, vil søket over linjeavslutninger, og hvis den er falsk, vil den ikke søke over linjen slutter.
Forutsetninger for Ansible Filter Regex_search
Hvis du ønsker å fortsette i Regex -søket, vil vi anta at du oppfyller følgende forutsetninger som er gitt nedenfor:
La oss bare dykke dypere inn i Regex søkefilter og sjekke hvordan Ansible setter det i kraft ved å bruke noen få situasjoner.
Eksempel 01: Matching av "Two" -strengen ved å bruke Regex søkefilter
Her er det aller første eksemplet der vi finner “to strengene fra prøvedokumentet som allerede var opprettet og inneholder noen strenger i det. Når vi ønsker å utføre filtre i Ansible, trenger vi en lekebok der vi skriver oppgavene. For å gjøre det, er følgende uttalelsen vi skal bruke for å lage spillboken i Ansible.
[root@master ansible]# nano regex_search.ymlNå er spillboken initiert i Ansible sin nye terminal. La oss begynne å skrive de nødvendige uttalelsene i spillboken slik at vi kan kjøre filteret. Først skal vi skrive vertsenavnet der vi vil konfigurere Regex søkefilter. Vi bruker den lokale verten for å implementere filteret. Vi vil bare få de nødvendige dataene fra den lokale verten, så vi har falske faktaalternativ. I den første oppgaven fikk vi noen data fra prøven.TXT -dokument og lagret det deretter i "out" -variabelen som ble erklært ved å bruke registeralternativet til spillboken. Deretter feilsøker vi oppgaven slik at vi kan søke på "to" -strengen fra innholdet i utvariabelen og vise den på Ansible Console Terminal.
- Verter: LocalhostNeste trinn er å utføre følgende linje for å skaffe uttrykket som har strengen “to” i seg, etter å ha skrevet oppgavene for spillboken.
[root@master ansible]# Ansible-playbook regex_search.ymlUttrykket fra utvariabelen som inneholder ordet “to” vises i utgangen ved å bruke REGEX -søkefilteret, som ble utført vellykket og kan sees med OK -signalet.
Eksempel 2: Vis strengen “Fil” fra den deklarerte variabelen i Ansible
Nå skal vi implementere det andre scenariet der vi ønsker å finne dataene fra den deklarerte variabelen i Ansible. Først vil vi igjen åpne spillboken:
[root@master ansible]# nano regex_searcg.ymlI dette eksemplet har vi erklært et variabelt navn “my_var”, og så har vi lagret innhold i variabelen. Nå ønsker vi å få den spesifikke strengen fra variabelen, så vi må definere oppgaven i spillboken. Som vist har vi også brukt valgfrie parametere for REGEX_SEARCH -filteret i feilsøkingsalternativet på slutten av spillboken. Disse parametrene er multiline og ignorekase -parameter som inneholder den "sanne" verdien.
- Verter: LocalhostNå vil vi utføre spillboken og vise frem resultatene av spillboken i terminalen:
[root@master ansible]# Ansible-playbook regex_search.ymlHer er de ønskede resultatene vist nedenfor:
Konklusjon
Vi gikk i detalj om hva et Regex -søkefilter i Ansible er og hvordan du bruker filteret i Ansible Playbook og hva vi vil motta i retur. For å forstå Ansible Regex søkefilter ordentlig, benyttet vi noen få tilfeller.