Wie man zusammengesetzte Ausdrücke mit Awk in Linux verwendet - Teil 5
Die ganze Zeit haben wir uns mit einfachen Ausdrücken beschäftigt, wenn es darum geht, zu überprü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 Ausdrücke kombinieren können, die als zusammengesetzte Ausdrücke bezeichnet werden, um beim Filtern von Text oder Zeichenfolgen nach einer Bedingung zu suchen.
Zusammengesetzte Ausdrücke in awk
In Awk werden zusammengesetzte Ausdrücke mit den Operatoren && erstellt, die als (und) bezeichnet werden, und den || als zusammengesetzte Operatoren, die als (oder) bezeichnet werden.
Die allgemeine Syntax für zusammengesetzte Ausdrücke lautet:
expression1 && expression2
Die obige Syntax stellt eine logische UND-Operation dar, bei der sowohl Ausdruck1 als auch Ausdruck2 wahr sein müssen, damit der Gesamtausdruck wahr ist.
Auf ähnliche Weise können Sie den || -Operator für einen logischen OR-Vorgang verwenden.
expression1 || expression2
Hier ist einer der Ausdrücke entweder Ausdruck1 oder Ausdruck2 muss wahr sein, damit der gesamte Ausdruck wahr ist.
Die Ausdrücke können mit den Vergleichsoperatoren erstellt werden, die wir uns in Teil 4 der awk-Serie angesehen haben.
In diesem Artikel untersuchen wir anhand praktischer Beispiele, wie Sie zusammengesetzte Ausdrücke mit Awk unter Linux verwenden.
Beispiel-Datei
In diesem Beispiel haben wir eine Textdatei mit dem Namen tecmint_deals.txt, die eine Liste einiger erstaunlicher zufälliger Tecmint-Angebote enthält, die den Namen des Angebots, den Preis und den Typ enthält.
No Name Price Type
1 Mac_OS_X_Cleanup_Suite $9.99 Software
2 Basics_Notebook $14.99 Lifestyle
3 Tactical_Pen $25.99 Lifestyle
4 Scapple $19.00 Unknown
5 Nano_Tool_Pack $11.99 Unknown
6 Ditto_Bluetooth_Altering_Device $33.00 Tech
7 Nano_Prowler_Mini_Drone $36.99 Tech
Beispiel 1: Filtern nach Preisspanne
Angenommen, wir möchten Produkte mit einem Preis zwischen 10 und 20 US-Dollar filtern, können wir einen zusammengesetzten Ausdruck in Awk verwenden, wie gezeigt.
awk '$3 >= 10 && $3 <= 20 { print $0 }' tecmint_deals.txt
Beispiel-Ausgabe:
1 Mac_OS_X_Cleanup_Suite $9.99 Software
4 Scapple $19.00 Unknown
5 Nano_Tool_Pack $11.99 Unknown
Beispiel 2: Kombinieren von Bedingungen
Nehmen wir an, wir möchten Produkte filtern, die entweder vom Typ "Software" oder "Tech" sind. Wir können den logischen ODER-Operator (||) in unserem zusammengesetzten Ausdruck verwenden.
awk '$4 == "Software" || $4 == "Tech" { print $0 }' tecmint_deals.txt
Beispiel-Ausgabe:
1 Mac_OS_X_Cleanup_Suite $9.99 Software
6 Ditto_Bluetooth_Altering_Device $33.00 Tech
7 Nano_Prowler_Mini_Drone $36.99 Tech
Beispiel 3: Kombination von Bedingungen
Kombinieren wir nun sowohl die Preis- als auch die Typenbedingungen. Angenommen, wir möchten Produkte filtern, die einen Preis von unter 20 US-Dollar haben und vom Typ "Unbekannt" sind. Wir können dies tun, indem wir zwei Bedingungen mit dem logischen AND-Operator (&&) kombinieren:
awk '$3 < 20 && $4 == "Unknown" { print $0 }' tecmint_deals.txt
Beispiel-Ausgabe:
1 Mac_OS_X_Cleanup_Suite $9.99 Software
5 Nano_Tool_Pack $11.99 Unknown
Beispiel 4: Negieren von Bedingungen
Nehmen wir schließlich an, wir möchten Produkte vom Typ "Lifestyle" ausschließen. Wir können dies erreichen, indem wir die Bedingung mit dem logischen NOT-Operator (!) negieren:
awk '$4 != "Lifestyle" { print $0 }' tecmint_deals.txt
Beispiel-Ausgabe:
1 Mac_OS_X_Cleanup_Suite $9.99 Software
4 Scapple $19.00 Unknown
5 Nano_Tool_Pack $11.99 Unknown
6 Ditto_Bluetooth_Altering_Device $33.00 Tech
7 Nano_Prowler_Mini_Drone $36.99 Tech
Zusammenfassung
Einige Bedingungen erfordern immer das Erstellen von zusammengesetzten Ausdrücken, die genau dem entsprechen, was Sie möchten. Wenn Sie die Verwendung von Vergleichs- und zusammengesetzten Ausdrucksoperatoren verstehen, wird das Filtern von Text oder Zeichenfolgen basierend auf einigen schwierigen Bedingungen einfach.
Für diejenigen, die eine umfassende Ressource suchen, haben wir alle Artikel der Awk-Serie in einem Buch zusammengestellt, das 13 Kapitel umfasst und sich über 41 Seiten erstreckt und sowohl die grundlegende als auch die fortgeschrittene Verwendung von Awk mit praktischen Beispielen abdeckt.
| Produktname | Preis | Kaufen |
|---|---|---|
| E-Book: Einführung in den AWK-Leitfaden für Anfänger | 8,99 $ | [Jetzt kaufen] |
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.