GNU/Linux >> LINUX-Kenntnisse >  >> Linux

AWK-Befehl unter Linux/Unix

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.


Linux
  1. Linux-wc-Befehl

  2. Linux grep-Befehl

  3. ln-Befehlsbeispiele in Linux

  4. file Befehlsbeispiele in Linux

  5. tail-Befehlsbeispiele in UNIX/Linux

Stat-Befehl unter Linux

Awk-Befehl unter Linux

mkdir-Befehl unter Linux/Unix

Grep-Befehl unter Linux/UNIX

ls-Befehl unter Linux/UNIX

cp-Befehl unter Linux/UNIX