Was ist AWK NF?
Die „AWK“-Funktion ist ein Linux-Dienstprogramm, das für die Textanalyse verwendet wird und starke Datenkontrolle bietet. Um das Linux-Computerprogramm und die „AWK“-Funktion zu nutzen, können Benutzer die vorbereiteten Ergebnisse bewerten, ändern und generieren. Die „AWK NF“-Variable wird verwendet, um zu zeigen, wie viele Dateien, Elemente oder andere Gegenstände in einer Zeile einer beliebigen Datei enthalten sind.
Arbeitsweise von AWK NF
Das „AWK“-Programm funktioniert mit Programmen, die Regeln enthalten, die aus verschiedenen Mustern und Aktionen bestehen, die auf den Text angewendet werden, der mit dem Muster übereinstimmt. Ein Muster und eine Aktion bilden zusammen eine Regel. Das gesamte „AWK“-Programm ist dann in einfache Anführungszeichen eingeschlossen.
Jetzt verwenden wir ein einfaches Beispiel, um zu demonstrieren, was passiert, wenn wir "who" im Ubuntu 20.04 Terminal eingeben. Dieser Befehl zeigt Informationen über den Benutzer sowie die aktuelle Uhrzeit und das Datum an.
Linux@linux:~$ whoWir führen diesen Befehl aus, indem wir die Eingabetaste auf der Tastatur drücken, was das Datum und die Uhrzeit als „2022-12-08“ und „15:06“ ausgibt, gefolgt von einigen Leerzeichen und dem Benutzernamen als „Linux“.
Im Standard interpretiert „AWK“ ein Feld als eine Zeichenfolge, die am Anfang und Ende einer Zeile von Leerzeichen umgeben ist. Hier zeigen wir, wie man einen Befehl unter Verwendung der „AWK“-Parameter und „who“ schreibt, um das erste Feld mit dem Dollarzeichen und der Zahl 1 ($1) abzurufen. Wenn wir das erste Feld aus einer Textdatei oder anderen Daten abrufen möchten, verwenden wir das „$1“-Dollarzeichen mit eins. Dazu verwenden wir den Befehl, in dem wir zuerst „who“ schreiben. Dann verwenden wir dieses „|“-Zeichen. Dann setzen wir einen Leerraum, indem wir die Leertaste auf der Tastatur drücken. Danach schreiben wir „awk“. Dann verwenden wir ein Hochkomma, gefolgt von geschweiften Klammern. Schließlich verwenden wir das Wort „print“ und das „$1“-Symbol innerhalb dieser geschweiften Klammern.
Linux@linux:~$ who | awk ‘{print $1}’Wie Sie im vorherigen Ausgabebild sehen können, zeigt der Befehl „who“ im Terminal, wenn wir ihn nur verwenden und ausführen, den Benutzernamen zusammen mit den notwendigen Informationen, die das Datum und die Uhrzeit umfassen. Da wir jedoch im vorherigen Befehl „print $1“ mit „AWK“ verwenden, wird nur das erste Feld ausgegeben, weil „$1“ verwendet wird, um das erste Feld der Datei unter anderem auszugeben.
Erstellen einer Textdatei auf dem Desktop mit dem Terminal und Drucken aller Inhalte mit „AWK“
Da "AWK" verwendet wird, um den gesamten Inhalt einer Datei im Terminal auszugeben, erstellen wir zunächst eine Textdatei und drucken die Informationen der Datei im Terminal. Hier erstellen wir eine Textdatei auf dem Desktop mithilfe des Terminals. Dazu schreiben wir den Befehl, in dem wir "nano" als Texteditor angeben. Dann benutzen wir das Zeichen (~), gefolgt von dem Schrägstrich "/". Anschließend schreiben wir "Desktop", da wir eine Datei auf dem Desktop erstellen, gefolgt von dem Schrägstrich "/". Daraufhin schreiben wir den Namen der Datei, die wir erstellen möchten. Schließlich erstellen wir eine Datei mit dem Namen "textfile" und der Erweiterung ".txt", weil es sich um eine Textdatei handelt.
Linux@linux:~$ nano ~/Desktop/textfile.txtDaher zeigt ein Terminal uns einen leeren Bildschirm, wenn wir diesen Befehl eingeben, wie im folgenden Bild dargestellt:
Wir geben die Daten ein, indem wir sie in das Terminal eingeben, das wir in der Textdatei speichern möchten. Dazu erstellen wir fünf Zeilen. Die erste enthält das Wort „Hallo“. Die zweite enthält „hey“. Die dritte enthält „hi“. Die vierte enthält zwei Elemente, „auf Wiedersehen“ und „123“. Und die fünfte Zeile ist leer, wie im folgenden Bild gezeigt:
Wenn wir nach der Eingabe der Daten in die "textfile.txt"-Datei "Ctrl-x" drücken, erscheint die Wahl "ja" oder "Nein" auf dem Bildschirm. Wir wissen, dass wir die Datei speichern möchten. Also drücken wir "Ctrl-y", um die Datei zu speichern, und die Datei wird erfolgreich erstellt.
Das folgende Bild zeigt die angezeigte Datei:
Wie wir wissen, wird die Datei auf dem Desktop gespeichert. Wir müssen zuerst ein Verzeichnis auf dem Desktop mit dem Befehl „cd Desktop/“ hinzufügen und dann die Eingabetaste drücken.
Linux@linux:~$ cd Desktop/Jetzt verwenden wir die „AWK“-Funktion, um den Inhalt der neu erstellten Datei „textfile.txt“ abzurufen und auf dem Bildschirm anzuzeigen. Dazu verwenden wir den Befehl, in dem wir zuerst „awk“ schreiben. Dann verwenden wir die Anführungszeichen darin. Wir setzen die geschweiften Klammern und schreiben „print $0“. Danach verwenden wir ein Leerzeichen. Schließlich schreiben wir den Dateinamen „textfile.txt“.
Linux@linux:~/Desktop$ awk ‘{print $0}’ textfile.txtJetzt, wenn wir diesen Befehl ausführen, werden die Inhalte der Textdatei angezeigt, wie Sie im folgenden Bild sehen können. Die erste Zeile dieser Datei enthält das Wort „hello“, gefolgt von „hey“. Das Wort „hi“ erscheint in der dritten Zeile. Zwei Elemente werden in der vierten Zeile aufgelistet. Und die fünfte Zeile ist leer.
Anzeige des Inhalts der Datei mit Zeilennummern
Durch die Verwendung der „NR“-Variable im Befehl geben wir den Inhalt der Datei zusammen mit der Zeilennummer im nächsten Teil aus. Dazu verwenden wir den Befehl, in dem wir zuerst „awk“ schreiben. Dann setzen wir nach einem Leerzeichen ein Anführungszeichen. Darin platzieren wir die geschweiften Klammern. Dann schreiben wir print. Schließlich schreiben wir „NR“. Danach setzen wir ein Komma und schreiben „$0“. Anschließend verlassen wir die Klammer und das Anführungszeichen. Zuletzt schreiben wir den Dateinamen, „textfile.txt“.
Linux@linux:~/Desktop$ awk ‘{print NR, $0}’ textfile.txtWie Sie im Ergebnis sehen können, wird der Inhalt der Datei mit Zeilennummern angezeigt, die zeigen, dass sie "5" Zeilen enthält.
Gesamtmenge der Daten pro Zeile mit NF anzeigen
In diesem Abschnitt zeigen wir die Gesamtzahl der Elemente in jeder Zeile. Dazu verwenden wir den Befehl, in dem wir zuerst "awk" schreiben und dann die gleichen Schritte wie im vorherigen Befehl befolgen, aber wir verwenden die Variable "NF", nachdem wir den Parameter "print" geschrieben haben. Danach schließen wir die geschweiften Klammern und Anführungszeichen. Dann schreiben wir den Dateinamen, "textfile.txt".
Linux@linux:~/Desktop$ awk ‘{print NF}’ textfile.txt
Die Anzahl der Elemente, die in der Datei vorhanden sind, wird jetzt in der Ausgabe angezeigt. Die ersten drei Zeilen enthalten "1" Elemente. Die vierte Zeile enthält "2" Elemente. Und die letzte Zeile ist in der Datei leer. Daher wird "0" angezeigt.
Die Leerzeilen entfernen
In diesem Abschnitt löschen wir die leere Zeile aus der Datei. Dazu verwenden wir den Befehl, in dem wir zuerst "awk" verwenden. Dann verwenden wir "NF>0", was die Bedingung ist, die besagt, dass die Zeile ausgegeben werden soll, wenn die Anzahl der Elemente größer als "0" ist. Andernfalls wird die Zeile nicht angezeigt. Dann verwenden wir das gleiche Verfahren wie im vorherigen Abschnitt.
Linux@linux:~/Desktop$ awk ‘NF>0 {print $0}’ textfile.txtDa die Zeile fünf der Datei leer ist, wird sie nicht auf dem Bildschirm angezeigt. Stattdessen werden nur die Zeilen angezeigt, die die Elemente oder Artikel enthalten. Daher werden die ersten vier Zeilen der Datei angezeigt, weil sie die Daten enthalten, während die letzte Zeile gelöscht wird, da sie keine Daten hat.
Fazit
In diesem Artikel haben wir darüber gesprochen, wie man die „AWK NF“-Funktion in Ubuntu 20.04 nutzt, um die Daten oder Informationen der Textdateien auszudrucken. Im ersten Schritt haben wir demonstriert, wie die „AWK“-Funktion funktioniert. Im zweiten Schritt haben wir eine Textdatei auf dem Desktop erstellt und die verschiedenen Parameter der „AWK“-Funktion, wie „NR“, verwendet, um die Zeilen der Datei mit Nummern auszugeben. Als nächstes haben wir „NF“ verwendet, um die Anzahl der Elemente zu zählen, die in jeder Zeile der Datei vorhanden sind. Im letzten Schritt haben wir die leere Zeile aus der Datei entfernt, indem wir eine Bedingung mit „NF“ angewendet haben.









