Heute entdecken wir einen weiteren Filter des Ansible -Tools, bei dem es sich um den Regex -Suchfilter handelt. Wir werden entdecken, wie die Regex -Suchfunktionen von Ansible. Wir werden auch untersuchen.
In Ansible bedeutet Reg-ex regelmäßig Ausdruck und die Suche steht für etwas, um etwas zu finden. Der Regex_Search -Filter in Ansible ist also eine Art komplexer Scan, der eher nach bestimmten Sequenzen als bestimmte Wörter und Phrasen sucht. Anstatt viele wörtliche Suchanfragen zu erstellen, ermöglicht Regex es, eine bestimmte Zeichenzeichenfolge mit regulären Ausdrücken zu finden. Um eine bestimmte Sequenz abzurufen, arbeitet Regex mit einer Suchabfrage und Metacharaccern zusammen. Die grundlegenden Bauelemente des regulären Ausdrucks sind Metacharacter. Finden Sie einige spezifische Zeichenfolgen wie Sicherheitsnummern, Lizenznummern, Webseiten -Adressen, Mailingadressen, Registrierungsnummern usw., die in bestimmte Sequenzen passen.
Parameter von regex_search
Der Parameter ist ein eindeutiger Typ von Variablen, der von einem Filter, einem Plugin usw. verwendet wird, um sich auf ein bestimmtes Bit der dem Filter als Eingabewert in Ansible gegebenen Daten zu beziehen. Diese Informationsbrocken geben die Werte der Parameter an, die zum Ausführen oder Initiieren des Filters verwendet werden. Im Folgenden finden Sie die erforderlichen und optionalen Parameter, die wir bei der Verwendung des Regex_Serachh -Filters im Ansible Playbook verwenden werden.
Erforderliche Parameter
Im Folgenden sind die Parameter erforderlich, damit wir das Muster in einer bereitgestellten Zeichenfolge finden können.
Eingabezeichenfolge: Wir werden Eingaben als Zeichenfolge nehmen, damit wir das Muster dagegen finden können.
Optionale Parameter
Dies sind die Parameter, die wir verwenden werden, wenn Sie bei der Suche nach einem bestimmten Muster aus der Eingabezeichenfolge erforderlich sind.
Regex -Zeichenfolge: Regex ist ein regulärer Ausdruck, der eine Zeichenfolge enthält und das Matching -Muster beim Filtern angibt.
Fall ignorieren: Es ist ein boolescher Parameter. Wenn die reguläre Ausdruckszeichenfolge wahr ist, wird die Suchfehlerempfindlichkeit erzeugt und wenn sie nicht wahr ist, ist er gezwungen, fallsempfindlich zu sein.
Multiline: Es ist auch ein boolescher Parameter der Regex -Suche in Ansible. Wenn der Scan wahr ist, sucht die Suche über Zeilenende und wenn er falsch ist, sucht er nicht über das Zeilenende.
Voraussetzungen des Ansible Filter Regex_search
Wenn Sie in der Regex -Suche weitermachen möchten, gehen wir davon aus, dass Sie die folgenden Voraussetzungen treffen, die unten angegeben sind:
Lassen Sie uns einfach tiefer in den Regex -Suchfilter eintauchen und prüfen, wie Ansible ihn durch ein paar Situationen in Kraft setzen.
Beispiel 01: Übereinstimmung mit der Zeichenfolge "zwei" mithilfe von Regex -Suchfilter
Hier ist das allererste Beispiel, in dem wir die „zwei Zeichenfolgen aus dem bereits erstellten Beispieldokument finden werden und einige Strings darin enthalten. Wenn wir Filter in Ansible ausführen möchten, brauchen wir ein Spielbuch, in dem wir die Aufgaben schreiben. Dazu ist Folgendes die Aussage, mit der wir das Spielbuch in Ansible erstellen werden.
[root@master Ansible]# nano regex_search.YMLJetzt wird das Spielbuch im neuen Terminal von Ansible initiiert. Lassen Sie uns mit dem Schreiben der erforderlichen Aussagen im Spielbuch beginnen, damit wir den Filter ausführen können. Zunächst schreiben wir den Host -Gerätenamen, in dem wir den Regex -Suchfilter konfigurieren möchten. Wir verwenden den lokalen Host, um den Filter zu implementieren. Wir erhalten nur die erforderlichen Daten des lokalen Host. In der ersten Aufgabe haben wir einige Daten aus der Probe erhalten.TXT -Dokument und speicherte es dann in der Variablen „Out“, die mithilfe der Registeroption des Spielbuchs deklariert wurde. Dann debuggen wir die Aufgabe, damit wir die String von „zwei“ aus dem Inhalt der Out -Variablen durchsuchen und sie am Ansible -Konsolen -Terminal anzeigen können.
- Gastgeber: LocalhostDer nächste Schritt besteht darin, die folgende Zeile auszuführen, um den Ausdruck zu erhalten, der die Zeichenfolge „zwei“ enthält, nachdem die Aufgaben für das Spielbuch geschrieben wurden.
[Root@Master Ansible]# Ansible-Playbook regex_search.YMLDie Phrase aus der Out -Variablen, die das Wort „zwei“ enthält.
Beispiel 2: Zeigen Sie die Zeichenfolge „Datei“ aus der deklarierten Variablen in Ansible an
Jetzt werden wir das 2. Szenario implementieren, in dem wir die Daten aus der deklarierten Variablen in Ansible finden möchten. Erstens werden wir das Spielbuch wieder öffnen:
[root@master ansible]# nano regex_searcg.YMLIn diesem Beispiel haben wir einen variablen Namen "my_var" deklariert und dann Inhalte in der Variablen gespeichert. Jetzt möchten wir die spezifische Zeichenfolge aus der Variablen erhalten, damit wir die Aufgabe im Spielbuch definieren müssen. Wie gezeigt, haben wir auch optionale Parameter des Regex_Search -Filters in der Debug -Option am Ende des Spielbuchs verwendet. Diese Parameter sind Multiline- und Ignorecase -Parameter, der den "wahren" Wert enthält.
- Gastgeber: LocalhostJetzt werden wir das Spielbuch ausführen und die Ergebnisse des Spielbuchs im Terminal präsentieren:
[Root@Master Ansible]# Ansible-Playbook regex_search.YMLHier sind die nachstehend angezeigten gewünschten Ergebnisse:
Abschluss
Wir haben uns sehr detailliert eingestellt, was ein Regex -Suchfilter in Ansible ist und wie der Filter im Ansible Playbook verwendet wird und was wir als Gegenleistung erhalten werden. Um den Ansible Regex -Suchfilter ordnungsgemäß zu verstehen, haben wir einige Fälle verwendet.