Verwenden des Befehls „awk“, um die letzte Spalte einer Datei zu drucken

Manchmal kommt es vor, dass wir nicht die gesamte Datei lesen müssen, sondern nur einen Teil der Datei anzeigen müssen. In dieser Situation versuchen wir, einige effiziente Wege zu finden, um sie zu erhalten, ohne den gesamten Dateiinhalt durchzugehen. Der Befehl „awk“ ist der richtige.

Der Befehl „AWK“ ist ein Befehlszeilenprogramm, das unter Linux zum Durchführen von Suchen mit unterschiedlichen Mustern und zur Verarbeitung verwendet wird. Es handelt sich um einen Befehl, der es einem Programmierer ermöglicht, kleine, aber effiziente Codezeilen in Form von Anweisungen zu kodieren, die Textmuster initiieren, die für die Durchführung von Suchvorgängen in jedem Teil eines Dokuments verwendet werden. Daher ist es auch ein häufig verwendeter Befehl für die Textverarbeitung.

Mit Hilfe des Befehls „awk“ kann ein Programmierer Daten und Teile eines bestimmten Textes basierend auf dem dem Befehl bereitgestellten Muster abrufen. Der AWK-Befehl kann Dateien Zeile für Zeile scannen und durchsuchen, jede als Eingabe übergebene Zeile in Felder verteilen und partitionieren, Felder mit Eingabezeilen vergleichen und abgleichen sowie vom Programmierer angegebene Anweisungen in übereinstimmenden Zeilen ausführen. AWK-Befehle können zur Erstellung von Berichten in bestimmten Formaten und zum Ändern von Daten in den Dateien verwendet werden.

Syntax:

Nachfolgend finden Sie die Syntax des AWK-Befehls:

awk ‚{action}‘ your_file_name.txt

In diesem Befehl wird der Parameter „action“ in der Syntax verwendet, um die Aktion zu definieren, die unser Befehl ausführen soll. Danach übergeben wir den Namen unserer Datei als Parameter, den wir bearbeiten werden.

Beispiel Nr. 1:

In diesem Beispiel werden wir versuchen, die n-te oder letzte Spalte der Datei mit dem Befehl awk zu drucken. Lassen Sie uns zunächst eine neue Datei erstellen, die einige Daten zu Mitarbeitern enthält. Um eine neue Datei zu erstellen, führen wir den unten angezeigten Befehl aus:

linux@linux-VirtualBox:~$ touch Employee.txt

Nachdem Sie den obigen Befehl ausgeführt haben, wird eine neue Datei in unserem Home-Verzeichnis erstellt. Es ist nicht notwendig, eine Datei im Home-Verzeichnis zu erstellen, Sie können sie überall in Ihrem System erstellen. Jetzt prüfen wir, ob die Datei erstellt wurde oder nicht. Dazu überprüfen wir einfach das Home-Verzeichnis. Wie im Snippet unten gezeigt, haben wir eine neue Datei mit dem Namen „mitarbeiter.txt“ erstellt.

Jetzt fügen wir mithilfe eines Notizblocks einige Inhalte zur Datei hinzu, wie im folgenden Ausschnitt gezeigt. Wir haben darin die Daten von fünf Mitarbeitern hinzugefügt, darunter den Namen, die Bezeichnung und das Gehalt des Mitarbeiters. Nachfolgend werden die Daten angezeigt, die in der Datei „employee.txt“ gespeichert sind.

Name, Bezeichnung, Gehalt

Jhone Manager 142 $

Rick Assistant 543 $

Linda Designer 148 $

Alex Projektmanager 342 $

Nun wurde die Datei erfolgreich mit dem Inhalt erstellt und die letzte Spalte der Datei kann mit dem Befehl awk abgerufen werden. Dazu führen wir den unten genannten Befehl aus:

linux@linux-VirtualBox:~$ awk ‚{print $NF}‘ Employee.txt

Im obigen Befehl haben wir die print-Anweisung zusammen mit dem Schlüsselwort „$NF“ übergeben, was bedeutet, dass der awk-Befehl den Compiler anweist, „$NF“ zu drucken, das das n-te Feld der Datei angibt. Das letzte „employee.txt“ ist der Name der Datei, deren letzte Spalte gedruckt wird. Durch Drücken der Eingabetaste führen wir den Befehl aus, der die unten angezeigte Ausgabe auf dem Terminal generiert, in dem das Gehalt der Mitarbeiter angezeigt wird.

Gehalt

142 $

543 $

148 $

342 $

Beispiel Nr. 2:

In diesem Beispiel lesen wir die letzte Spalte der Datei, aber dieses Mal verwenden wir eine andere Methode, die meist verwendet wird, wenn der Benutzer die Anzahl der Spalten kennt. Lassen Sie uns nun zunächst eine neue Datei erstellen, die die Daten von fünf Schülern enthält. Es enthält den Namen der Schüler, ihre Klassen und die von ihnen erzielten Noten.

linux@linux-VirtualBox:~$ nano student.txt

Wenn wir den obigen Befehl ausführen, wird eine neue Datei erstellt und automatisch in einem Texteditor geöffnet. Jetzt fügen wir die Daten der Schüler in die Datei ein und drücken dazu „Strg + x“. Wir speichern die Datei, nachdem wir den Inhalt hinzugefügt haben. In unserem Fall haben wir Daten von fünf Studenten hinzugefügt. Durch das Speichern der Datei nähern wir uns unserem Hauptziel, nämlich dem Drucken der letzten Spalte der Datei. Nachfolgend finden Sie den Inhalt der Datei „student.txt“.

Nennen Sie Klassennoten

jhone gradeC 154

Rick Note A 124

Linda NoteB 144

Alex Note A 122

Jetzt führen wir den Befehl awk aus, um die letzte Spalte der Datei zu drucken. Nehmen wir an, dass wir dieses Mal die Spalten der Datei kennen und die letzte Spalte davon drucken möchten. Dazu verwenden wir den Befehl awk zusammen mit der Spaltennummer, die auf dem Terminal ausgegeben wird. Wie wir wissen, gibt es in unserer Datei nur drei Spalten mit den Namen der Schüler, ihren Klassen und den Noten. Um die letzte Spalte zu drucken, führen wir den unten gezeigten Befehl aus:

linux@linux-VirtualBox:~$ awk ‚{print $3}‘ student.txt

In diesem Befehl haben wir „$3“ zusammen mit dem Druckbefehl übergeben, was bedeutet, dass „awk“ den Compiler anweist, die dritte Spalte der Datei mit dem Namen „student.txt“ zu drucken. Wenn wir diesen Befehl ausführen, wird die folgende Ausgabe gedruckt, in der die Noten der Schüler gedruckt werden. Wir können die Ausgabe auch mit dem oben angezeigten Dateiausschnitt vergleichen. Die Datei enthält nur drei Spalten und die letzte Spalte der Datei enthält die Noten der Schüler. Mit diesem Befehl kann eine beliebige Spalte der Datei gedruckt werden; Es ist nicht nur angegeben, die letzte Spalte zu drucken. Indem wir das „$3“-Zeichen in „$2“ ändern, können wir die zweite Spalte drucken. Nachdem wir den obigen Befehl ausgeführt haben, wird die unten angezeigte Ausgabe angezeigt.

Markierungen

154

124

144

122

Abschluss

Wir haben einen „awk“-Befehl untersucht, der häufig verwendet wird, um direkt auf den Inhalt der benötigten Datei zuzugreifen. Anschließend haben wir mehrere Beispiele implementiert, um die angegebene letzte Spalte der Dateien mit dem Befehl awk zu lesen. Sie können weitere Beispiele implementieren, um eine bessere Vorstellung davon zu bekommen, wie der Befehl awk verwendet werden kann.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen