AWK eignet sich zur Mustersuche und -verarbeitung. Das Skript wird ausgeführt, um eine oder mehrere Dateien zu durchsuchen, um übereinstimmende Muster zu identifizieren und ob die Muster bestimmte Aufgaben ausführen. In diesem Handbuch werfen wir einen Blick auf den AWK-Linux-Befehl und sehen, was er kann.
Welche Vorgänge kann AWK ausführen?
- Dateien Zeile für Zeile scannen
- Aufteilen jeder Eingabezeile in Felder
- Eingabezeilen und -felder mit Mustern vergleichen
- Ausführen bestimmter Aktionen für übereinstimmende Zeilen
Nützlichkeit des AWK-Befehls
- Ändern von Datendateien
- Formatierte Berichte erstellen
Programmierkonzepte für den awk-Befehl
- Ausgabezeilen formatieren
- Bedingte und Schleifen
- Arithmetische und Zeichenfolgenoperationen
AWK-Syntax
$ awk options 'selection _criteria {action }' input-file > output-file
Um mehr über die Verwendung von AWK zu demonstrieren, verwenden wir die Textdatei namens file.txt
1. Spalte => Artikel,
2. Spalte => Modell
3. Spalte => Land
4. Spalte => Kosten
Awk-Befehlsbeispiele
Spalten drucken
Um die 2. und 3. Spalte zu drucken, führen Sie den folgenden Befehl aus.
$ awk '{print $2 "\t" $3}' file.txt
Ausgabe
Alle Zeilen in einer Datei drucken
Wenn Sie alle Zeilen und Spalten einer Datei auflisten möchten, führen Sie
aus$ awk ' {print $0}' file.txt
Ausgabe
Alle Zeilen drucken, die einem bestimmten Muster entsprechen
Wenn Sie Zeilen drucken möchten, die einem bestimmten Muster entsprechen, ist die Syntax wie gezeigt
$ awk '/variable_to_be_matched/ {print $0}' file.txt
Um beispielsweise alle Einträge mit dem Buchstaben „o“ abzugleichen, lautet die Syntax
$ awk '/o/ {print $0}' file.txt
Ausgabe
Zum Abgleich aller Einträge mit dem Buchstaben „e“
$ awk '/e/ {print $0}' file.txt
Ausgabe
Drucken von Spalten, die einem bestimmten Muster entsprechen
Wenn AWK eine Musterübereinstimmung findet, führt der Befehl den gesamten Datensatz aus. Sie können die Standardeinstellung ändern, indem Sie eine Anweisung erteilen, nur bestimmte Felder anzuzeigen.
Zum Beispiel:
$ awk '/a/ {print $3 "\t" $4}' file.txt
Der obige Befehl druckt die 3. und 4. Spalte, wo der Buchstabe „a“ in einer der Spalten erscheint
Ausgabe
Zählen und Drucken übereinstimmender Muster
Sie können AWK verwenden, um die Anzahl der Zeilen für jede Musterübereinstimmung zu zählen und auszudrucken. Der folgende Befehl zählt beispielsweise die Anzahl der Fälle, in denen ein übereinstimmendes Muster erscheint
$ awk '/a/{++cnt} END {print "Count = ", cnt}' file.txt
Ausgabe
Zeilen mit mehr oder weniger als einer Anzahl von Zeichen drucken
AWK hat eine eingebaute Längenfunktion, die die Länge der Zeichenkette zurückgibt. Von der Befehlsvariablen $0 wird die gesamte Zeile gespeichert, und in Abwesenheit eines Hauptblocks wird die Standardaktion ausgeführt, d. h. die Druckaktion. Wenn also in unserer Textdatei eine Zeile mehr als 18 Zeichen hat, dann ist der Vergleich wahr und die Zeile wird wie unten gezeigt gedruckt.
$ awk 'length($0) > 20' file.txt
Ausgabe
Ausgabe von AWK in einer anderen Datei speichern
Wenn Sie die Ausgabe Ihrer Ergebnisse speichern möchten, verwenden Sie den Umleitungsoperator>. Zum Beispiel
$ awk '/a/ {print $3 "\t" $4}' file.txt > Output.txt
Sie können die Ergebnisse mit dem cat-Befehl wie unten gezeigt überprüfen
$ cat output.txt
Ausgabe
Schlussfolgerung
AWK ist ein weiteres einfaches Programmierskript, mit dem Sie Text in Dokumenten bearbeiten oder bestimmte Funktionen ausführen können. Die gemeinsamen Befehle sind einige oder viele, die Sie noch kennen oder denen Sie noch begegnen müssen.