Awk

So verwenden Sie die Variable im Befehl awk

So verwenden Sie die Variable im Befehl awk
Variablen werden verwendet, um jeden Wert temporär in einer beliebigen Programmiersprache zu speichern.  Das Definieren der Variablen im Befehl awk ähnelt der Skriptsprache bash und funktioniert wie bash, wenn die Shell-Variable mit einem einfachen und einem doppelten Anführungszeichen verwendet wird. Der Befehl Awk hat viele eingebaute Variablen für verschiedene Zwecke. Wie benutzerdefinierte, integrierte und Shell-Variablen im awk-Befehl verwendet werden können, wird in diesem Tutorial anhand verschiedener Beispiele gezeigt shown.

EBeispiel -1: Variable definieren und drucken

Der Befehl 'awk' verwendet die Option '-v', um die Variable zu definieren. In diesem Beispiel ist die myvar Variable wird im Befehl 'awk' definiert, um den Wert zu speichern, „AWK-Variable“ das wird später gedruckt. Führen Sie den folgenden Befehl vom Terminal aus, um die Ausgabe zu überprüfen.

$ echo | awk -v myvar='AWK-Variable' 'print myvar'

Ausgabe:

Beispiel - 2: Verwenden der Shell-Variablen in awk mit einem einfachen und doppelten Anführungszeichen

Das Beispiel zeigt, wie die Shell-Variable mit dem Befehl 'awk' verwendet werden kann. Hier eine Shell-Variable, myvar wird mit dem Wert . deklariert, „Linux-Hinweis“ im ersten Befehl. Das '$'-Symbol wird mit einem Shell-Variablennamen verwendet, um den Wert zu lesen. Der zweite Befehl liest die Variable, $myval mit einem einfachen Anführungszeichen (') und der dritte Befehl liest die Variable $myvar mit doppeltem Anführungszeichen (“) in der 'awk'-Anweisung.

$ myvar="Linux-Hinweis"
$ echo | awk -v awkvar='$myvar' ' print awkvar; '
$ echo | awk -v awkvar="$myvar" ' print awkvar; '

Ausgabe:

In der Ausgabe wird gezeigt, dass der Wert von $myvar nicht gelesen werden kann, wenn er in ein einfaches Anführungszeichen (') eingeschlossen ist und die Ausgabe ist $myvar. Der Wert von $myvar wird gedruckt, wenn es in ein doppeltes Anführungszeichen (“) eingeschlossen ist.

Beispiel - 3: Lesen der ARGC-Variable in awk

Die ARGC-Variable wird verwendet, um die Gesamtzahl der Befehlszeilenargumente zu zählen. Drei Befehlszeilenargumentvariablen (t1, t2, t3) werden im folgenden awk-Skript übergebenk. Hier beträgt die Gesamtzahl der Argumente mit dem Skript 4. Führen Sie das Skript über das Terminal aus.

$ awk 'BEGINprint "Gesamtargumente=",ARGC' t1 t2 t3

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Beispiel - 4: Lesen des Dateiinhalts nach Argumentvariablen

Erstellen Sie eine Textdatei mit dem Namen Kunde.TXT mit folgendem Inhalt, um dieses Beispiel zu üben. Hier wird jedes Feld der Datei durch einzelnes getrennt Tab Platz.

Kunde.TXT

ID        Name
103847    John Michael
209485    Watson
974732    Mira Hossain

Der Befehl Awk kann jedes Feld aus jeder Textdatei nach Argumentvariablen lesen read. Es gibt zwei Felder in Kunde.TXT Datei. Das sind ID und Name. Das folgende Skript druckt diese beiden Felder nach Argumentvariablen, $1 und $ 2 durch Trennung von zwei Tab Leerzeichen. Führen Sie das Skript über das Terminal aus.

$ Katzenkunde.TXT
$ Katzenkunde.txt | awk ' print $1 "\t\t" $2;'

Ausgabe:

Die folgende Ausgabe erscheint, nachdem Sie die obigen Befehle ausgeführt haben.

Beispiel 5: Verwenden der integrierten Variablen-, FS- und Feldtrennoption mit dem Befehl awk

Die FS-Variable wird im awk-Befehl als Feldtrennzeichen verwendet. Leerzeichen wird als Standardwert von FS verwendet. Der folgende Befehl liest die Datei Kunde.TXT Leerzeichen als Feldtrennzeichen verwenden und den Dateiinhalt drucken. Führen Sie den Befehl über das Terminal aus.

$ awk FS-Kunde.TXT

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Der Befehl Awk kann andere Zeichen als Feldtrennzeichen verwenden, indem Sie die Option '-F' verwenden using. Erstellen Sie eine Textdatei mit dem Namen Produkt.TXT mit folgendem Inhalt, wobei ':' als Feldtrennzeichen verwendet wird.

Produkt.TXT

101:Kuchen: $30
102: Bleistift: $ 5
103:Seife: $3
104:Shampoo:$10

Es gibt drei Felder in der Datei, Produkt.TXT die Produkt-ID, Name und Preis enthält. Der folgende awk-Befehl druckt nur das zweite Feld jeder Zeile. Führen Sie die Befehle über das Terminal aus.

$ Katzenprodukt.TXT
$ awk -F ':' ' print $2 ' Produkt.TXT

Ausgabe:

Hier druckte der erste Befehl den Inhalt von Produkt.TXT und der zweite Befehl gab nur das zweite Feld der Datei aus.

Beispiel - 6: Verwenden der integrierten Variablen NR mit dem Befehl awk

Die NR-Variable wird im awk-Befehl verwendet, um die Gesamtzahl der Datensätze oder Zeilen einer Datei zu zählen. Erstellen Sie eine Textdatei mit dem Namen Schüler.TXT um die Funktion dieser Variablen zu testen.

Schüler.TXT

Name      Batch     Semester
Johannes      20        3
Mira      22        1
Ella      18
Karl    15        8

Das folgende awk-Skript druckt die ersten drei Zeilen von Produkt.TXT Datei. Hier wird eine Bedingung unter Verwendung der NR-Variablen hinzugefügt. Der Befehl druckt die Zeilen, bei denen der NR-Wert weniger als 4 . beträgt. Führen Sie das Skript über das Terminal aus.

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

$ Katzenschüler.txt | awk 'NR < 4'

Beispiel - 7: Verwenden der integrierten Variablen NF mit dem Befehl awk

Die NF-Variable wird im awk-Befehl verwendet, um die Gesamtzahl der Felder in jeder Zeile einer Datei zu zählen. Das folgende awk-Skript wird für die Datei angewendet, Schüler.TXT die im vorherigen Beispiel erstellt wird. Das Skript druckt diese Zeilen aus Schüler.TXT Datei, bei der die Gesamtzahl der Felder weniger als 3 beträgt. Führen Sie den Befehl über das Terminal aus.

$ Katzenschüler.txt | awk 'NF < 3'

Ausgabe:

Es gibt nur eine Zeile in der Datei, in der die Gesamtzahl der Felder weniger als 3 beträgt, die als Ausgabe gedruckt wird.

Beispiel - 8: Verwenden der integrierten Variablen OFS mit dem Befehl awk

Die OFS-Variable wird im awk-Befehl verwendet, um das Ausgabefeldtrennzeichen in der Ausgabe hinzuzufügen. Produkt.TXT file wird in diesem Beispiel verwendet, um die Verwendung der OFS-Variablen zu zeigen. ':' wird als Feldtrennzeichen im Produkt verwendet.txt-Datei. Das folgende awk-Skript verwendet '->' als OFS-Wert und das zweite und das dritte Feld der Datei werden gedruckt, indem dieses Trennzeichen hinzugefügt wird. Führen Sie die Befehle über das Terminal aus.

$ Katzenprodukt.TXT
$ awk -F ':' 'BEGINOFS="->"; print $2,$3;' Produkt.TXT

Ausgabe:

Die folgende Ausgabe wird gedruckt, nachdem die Befehle ausgeführt wurden.

Fazit:

Die häufigsten Verwendungen von awk-Variablen werden in diesem Tutorial erklärt. tried. Ich hoffe, der Leser wird nach dem Üben dieses Tutorials in der Lage sein, awk-Variablen im Skript richtig zu verwenden.

Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...
Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...
Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...