Awk

So überspringen Sie die erste Zeile einer Datei mit 'awk'

So überspringen Sie die erste Zeile einer Datei mit 'awk'

Es gibt verschiedene Verwendungen des 'awk'-Befehls unter Linux. Es kann beispielsweise verwendet werden, um den Inhalt einer Textdatei zu drucken. Die erste Zeile vieler Textdateien enthält die Überschrift der Datei, und manchmal muss die erste Zeile beim Drucken des Inhalts der Datei übersprungen werden. In diesem Tutorial zeigen wir Ihnen, wie Sie diese Aufgabe mit dem Befehl 'awk' ausführen.

Erstellen Sie eine Textdatei

Um diesem Tutorial zu folgen, erstellen Sie eine tabulatorgetrennte Textdatei namens Bücherliste.TXT mit folgendem Inhalt. Diese Datei enthält eine Liste von Büchern mit ihren entsprechenden Autoren. In diesem Tutorial zeigen wir Ihnen, wie Sie verschiedene Teile dieser Datei drucken, nachdem Sie die erste Zeile übersprungen haben.

Cybersicherheit mit bash Paul Troncone, Carl Albing
Kommandozeilen-Kung Fu Jason Cannon
Linux-Befehlszeile Travis Booth
Bash in einfachen Schritten Mike McGrath
Unix in einfachen Schritten Mike McGrath

Beispiel 1: Überspringen Sie die erste Zeile einer Datei mit NR und dem '>'-Operator

Die Variable NR gibt die Anzahl der Datensätze in einer Datei an. Der folgende 'awk'-Befehl verwendet die NR-Variable, um die erste Zeile einer Datei zu überspringen. Der Wert von NR ist 1 für die erste Zeile. Der folgende Befehl druckt Zeilen, für die der NR-Wert größer als 1 . ist.

$ Katzenbuchliste.TXT
$ awk '(NR>1)' Buchliste.TXT

Die folgende Ausgabe wird erzeugt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe enthält alle Zeilen außer der ersten Zeile der Datei.

Beispiel 2: Überspringen Sie die erste Zeile, indem Sie NR und das '!=' Betreiber

Der folgende 'awk'-Befehl ähnelt dem im vorherigen Beispiel. Allerdings ist die '!=' Vergleichsoperator wird hier anstelle von '>' verwendet.

$ Katzenbuchliste.TXT
$ awk 'NR!=1' Buchliste.TXT

Die folgende Ausgabe wird erzeugt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe zeigt alle Zeilen außer der ersten Zeile der Datei.

Beispiel 3: Überspringen Sie die erste Zeile einer Datei mit einer bedingten Anweisung

Der folgende 'awk'-Befehl gibt die Zeilen der Datei aus, wenn die if-Anweisung wahr ist. Hier ist die if-Anweisung nur wahr, wenn der NR-Wert ungleich 1 . ist.

$ Katzenbuchliste.TXT
$ awk 'if (NR!=1) print' Bücherliste.TXT

Die folgende Ausgabe wird erzeugt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe enthält alle Zeilen außer der ersten Zeile der Datei.

Beispiel 4: Drucken Sie die Buchnamen aus der Datei, aber überspringen Sie die erste Zeile

In diesem Beispiel werden zwei 'awk'-Befehle verwendet, um alle Buchnamen außer dem ersten zu drucken. Der 'awk'-Befehl liest die erste Spalte aus der Datei basierend auf dem Feldtrennzeichen (\t) und sendet die Ausgabe an den zweiten 'awk'-Befehl. Der zweite 'awk'-Befehl druckt die gewünschte Ausgabe.

$ Katzenbuchliste.TXT
$ awk -F "\t" 'print $1' Buchliste.txt | awk 'NR!=1 Drucken'

Die folgende Ausgabe wird erzeugt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe zeigt alle Buchnamen außer dem des ersten Buches.

Beispiel 5: Formatieren Sie den Dateiinhalt, nachdem Sie die erste Zeile übersprungen haben

Die Option '-F', die NR-Variable und die printf-Funktion werden im folgenden 'awk'-Befehl verwendet, um eine formatierte Ausgabe zu generieren, nachdem die erste Zeile übersprungen wurde. Der Befehl teilt den Dateiinhalt basierend auf \t in Spalten auf, und printf druckt die erste und zweite Spalte, wenn der NR-Wert mindestens 2 . beträgt.

$ Katzenbuchliste.TXT
$ awk -F '\t' 'NR>=2 printf "%30s %20s\n", $1, $2' Buchliste.TXT

Die folgende Ausgabe wird erzeugt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe zeigt den formatierten Inhalt der Datei mit Ausnahme der ersten Zeile der Datei.

Beispiel 6: Drucken Sie die Buchnamen nach dem Überspringen der ersten Zeile mit NR und NF

Der folgende 'awk'-Befehl verwendet die '-F'-Option und NR und NF, um die Buchnamen zu drucken, nachdem das erste Buch übersprungen wurde. Die Option '-F' wird verwendet, um den Inhalt der Dateibasis auf \t . zu trennen. NR wird verwendet, um die erste Zeile zu überspringen, und NF wird verwendet, um nur die erste Spalte zu drucken.

$ Katzenbuchliste.TXT
$ awk -F '\t' 'NR>1 && NF=1' Buchliste.TXT

Die folgende Ausgabe wird erzeugt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe enthält alle Buchnamen in der Datei außer dem des ersten Buches.

Beispiel 7: Drucken Sie die formatierten Autorennamen, nachdem Sie die erste Zeile übersprungen haben

Der folgende 'awk'-Befehl verwendet die '-F'-Option und eine bedingte Anweisung, um die Autorennamen auszugeben, nachdem die erste Zeile übersprungen wurde. Hier wird der NR-Wert in der if-Bedingung verwendet. Hier wird „Autorenname:\n\n“ als erste Zeile anstelle des Inhalts aus der ersten Zeile gedruckt. Für die anderen Werte von NR . werden die Autorennamen aus der Datei gedruckt.

$ Katzenbuchliste.TXT
$ awk -F '\t' ' if (NR==1) printf "\nName des Autors:\n\n"; else  printf "%s\n", $2'-Buchliste.TXT

Die folgende Ausgabe wird erzeugt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe zeigt den Text „Autorenname:“ mit einem Zeilenumbruch, und alle Autorennamen werden mit Ausnahme des ersten ausgegeben.

Fazit

Die erste Zeile einer Datei kann mit verschiedenen Linux-Befehlen übersprungen werden. Wie in diesem Tutorial gezeigt, gibt es verschiedene Möglichkeiten, die erste Zeile einer Datei mit dem Befehl 'awk' zu überspringen. Bemerkenswert ist, dass die NR-Variable des 'awk'-Befehls verwendet werden kann, um die erste Zeile jeder Datei zu überspringen.

So verwenden Sie Xdotool zum Stimulieren von Mausklicks und Tastenanschlägen in Linux
Xdotool ist ein kostenloses Open-Source-Befehlszeilentool zum Simulieren von Mausklicks und Tastenanschlägen. Dieser Artikel enthält eine kurze Anleit...
Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...