Oggi scopriremo un altro filtro dello strumento Ansible che è il filtro di ricerca Regex. Scopriremo come funziona la ricerca di regex di Ansible. Esploreremo anche come la ricerca Regex potrebbe essere utile quando si utilizza Ansible per trovare una stringa o un carattere corrispondente nel playbook Ansible.
In Ansible, Reg-ex significa un'espressione regolare e la ricerca significa trovare qualcosa. Quindi, il filtro regex_search in Ansible è una sorta di scansione complessa che cerca sequenze particolari piuttosto che parole e frasi particolari. Invece di creare molte query di ricerca letterale, Regex consente di trovare una stringa di caratteri specifica usando espressioni regolari. Per recuperare una sequenza particolare, Regex funziona con una query di ricerca e metacharacters. Gli elementi di costruzione fondamentali dell'espressione regolare sono metacharacter. Trovare alcune stringhe specifiche come numeri di sicurezza, numeri di licenza, indirizzi per pagine Web, indirizzi postali, numeri di registrazione, ecc. Che si adattano a sequenze specifiche possono essere eseguite utilizzando espressioni regolari.
Parametri di regex_search
Il parametro è un tipo univoco di variabile che viene utilizzato da qualsiasi filtro, plug -in, ecc. Per essere relativi a un bit di dati specifici forniti al filtro come valore di input in AnSible. Questi blocchi di informazioni indicano i valori dei parametri che verranno utilizzati per eseguire o avviare il filtro. Di seguito sono riportati i parametri richiesti e opzionali che useremo durante l'utilizzo del filtro Regex_Serachh nel playbook Ansible.
Parametri richiesti
I seguenti sono i parametri richiesti in modo da poter trovare il modello in una stringa fornita.
Stringa di input: Faremo input come stringa in modo da poter trovare il modello contro di esso.
Parametri opzionali
Questi sono i parametri che useremo se è necessario mentre cerchi un modello specifico dalla stringa di input.
Regex string: Regex è un'espressione regolare che contiene una stringa e specifica il modello di corrispondenza durante il filtraggio.
Ignorecase: È un parametro booleano. Se la stringa di espressione regolare è vera, renderà il caso sensibile alla ricerca e se non è vero, sarà costretto ad essere insensibile al caso.
Multiline: È anche un parametro booleano della ricerca Regex in Ansible. Se la scansione è vera, le finali di ricerca su linea e se è falsa, non cercherà la fine della linea.
Prerequisiti del filtro Ansible regex_search
Se desideri andare avanti nella ricerca Regex, supponiamo di incontrare i seguenti prerequisiti che sono indicati di seguito:
Approfondiamo il filtro di ricerca Regex e controlliamo come Ansible lo mette in vigore usando alcune situazioni.
Esempio 01: abbinamento della stringa "due" utilizzando il filtro di ricerca regex
Ecco il primo esempio in cui troveremo le "due stringhe dal documento di esempio già creato e contiene alcune stringhe in esso. Quando vogliamo eseguire filtri in Ansible, abbiamo bisogno di un playbook in cui scriviamo le attività. Per fare ciò, quanto segue è l'affermazione che useremo per creare il playbook in Ansible.
[root@master ansible]# nano regex_search.YMLOra, il playbook è iniziato nel nuovo terminal di Ansible. Iniziamo a scrivere le dichiarazioni richieste nel playbook in modo da poter eseguire il filtro. Innanzitutto, scriveremo il nome del dispositivo host in cui vogliamo configurare il filtro di ricerca Regex. Stiamo usando l'host locale per implementare il filtro. Otterremo solo i dati richiesti dell'host locale, quindi abbiamo false l'opzione di fatti di raccolta. Nel primo compito, abbiamo ricevuto alcuni dati dal campione.Documento txt e quindi archiviato nella variabile "out" dichiarata utilizzando l'opzione di registro del playbook. Quindi, eseguiamo il debug dell'attività in modo da poter cercare la stringa "due" dal contenuto della variabile out e visualizzarla sul terminale della console Ansible.
- Host: localhostIl prossimo passo è eseguire la seguente riga per ottenere la frase che contiene la stringa "due", dopo aver scritto le attività per il playbook.
[root@master ansible]# ansible-playbook regex_search.YMLLa frase dalla variabile fuori che contiene la parola "due" viene visualizzata nell'output utilizzando il filtro di ricerca regex, che è stato eseguito correttamente e può essere visto con il segnale OK.
Esempio 2: mostra la stringa "file" dalla variabile dichiarata in Ansible
Ora, implementeremo il secondo scenario in cui vogliamo trovare i dati dalla variabile dichiarata in Ansible. Innanzitutto, apriremo di nuovo il playbook:
[root@master ansible]# nano regex_searcg.YMLIn questo esempio, abbiamo dichiarato un nome variabile "my_var" e quindi abbiamo memorizzato il contenuto nella variabile. Ora, vogliamo ottenere la stringa specifica dalla variabile, quindi dobbiamo definire l'attività nel playbook. Come mostrato, abbiamo anche usato i parametri opzionali del filtro Regex_Search nell'opzione di debug alla fine del playbook. Questi parametri sono parametri multiline e ignorecasi che contiene il valore "vero".
- Host: localhostOra eseguiremo il playbook e mostreremo i risultati del playbook nel terminal:
[root@master ansible]# ansible-playbook regex_search.YMLEcco i risultati desiderati visualizzati di seguito:
Conclusione
Abbiamo approfondito i dettagli su ciò che è un filtro di ricerca regex in Ansible e come utilizzare il filtro nel playbook Ansible e cosa riceveremo in cambio. Per comprendere correttamente il filtro di ricerca regex Ansible, abbiamo utilizzato alcuni casi.