![Fünf wichtige Funktionen, die in einer Antivirus-Software für MAC benötigt werden](/f/bfcaa9b612dc0e0dc4153a98002669ea.png?width=100&height=100)
Die ganze Zeit haben wir uns einfache Ausdrücke angesehen, um zu prüfen, ob eine Bedingung erfüllt ist oder nicht. Was ist, wenn Sie mehr als einen Ausdruck verwenden möchten, um nach einer bestimmten Bedingung zu suchen?
In diesem Artikel werfen wir einen Blick darauf, wie Sie mehrere als zusammengesetzte Ausdrücke bezeichnete Ausdrücke kombinieren können, um beim Filtern von Text oder Zeichenfolgen auf eine Bedingung zu prüfen.
In Awk, zusammengesetzte Ausdrücke sind gebaut mit dem &&
bezeichnet als (und)
und das ||
bezeichnet als (oder)
zusammengesetzte Operatoren.
Die allgemeine Syntax für zusammengesetzte Ausdrücke lautet:
( erster_Ausdruck ) && ( zweiter_Ausdruck )
Hier, erster_ausdruck
und zweiter_ausdruck
muss wahr sein, damit der ganze Ausdruck wahr ist.
( erster_Ausdruck ) || (zweiter_Ausdruck)
Hier einer der Ausdrücke entweder erster_ausdruck
oder zweiter_ausdruck
muss wahr sein, damit der ganze Ausdruck wahr ist.
Vorsicht: Denken Sie daran, immer die Klammern einzufügen.
Die Ausdrücke können mit den Vergleichsoperatoren erstellt werden, die wir in betrachtet haben
Teil 4 der awk-Reihe.Lassen Sie uns nun anhand eines Beispiels unten ein klares Verständnis erlangen:
In diesem Beispiel hat a eine Textdatei mit dem Namen tecmint_deals.txt
, die eine Liste einiger erstaunlicher zufälliger Tecmint-Angebote enthält, einschließlich des Namens des Angebots, des Preises und der Art.
TecMint-Angebotsliste
Nein Name Preistyp. 1 Mac_OS_X_Cleanup_Suite $9.99-Software. 2 Grundlagen_Notebook 14,99 $ Lebensstil. 3 Tactical_Pen 25,99 $ Lebensstil. 4 Scapple 19,00 $ Unbekannt. 5 Nano_Tool_Pack 11,99 $ Unbekannt. 6 Ditto_Bluetooth_Altering_Device $33.00 Tech. 7 Nano_Prowler_Mini_Drone $36.99 Technik
Sagen wir, dass wir nur Angebote drucken und kennzeichnen wollen, die oben sind $20 und vom Typ "Technik" Verwendung der (**)
am Ende jeder Zeile unterschreiben.
Wir müssen den folgenden Befehl ausführen.
# awk '($3 ~ /^$[2-9][0-9]*\.[0-9][0-9]$/) && ($4=="Tech") { printf "%s\ t%s\n",$0,"*"; } 'tecmint_deals.txt 6 Dito_Bluetooth_Altering_Device $33.00Technik * 7 Nano_Prowler_Mini_Drone $36.99Technik *
In diesem Beispiel haben wir zwei Ausdrücke in einem zusammengesetzten Ausdruck verwendet:
Denken Sie daran, dass eine Zeile nur mit dem gekennzeichnet wird (**)
, Wenn erster Ausdruck und zweiter Ausdruck sind wahr, wie das Prinzip der &&
Operator.
Einige Bedingungen erfordern immer das Erstellen von zusammengesetzten Ausdrücken, damit Sie genau das erreichen, was Sie wollen. Wenn Sie die Verwendung von Vergleichs- und zusammengesetzten Ausdrucksoperatoren verstehen, wird das Filtern von Text oder Zeichenfolgen basierend auf einigen schwierigen Bedingungen einfach.
Ich hoffe, Sie finden diesen Leitfaden nützlich und denken Sie bei Fragen oder Ergänzungen immer daran, einen Kommentar zu hinterlassen, und Ihr Anliegen wird entsprechend gelöst.