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 Befehls "awk" unter Linux. Zum Beispiel kann es 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 übersprungen werden, wenn der Inhalt der Datei gedruckt wird. In diesem Tutorial zeigen wir Ihnen, wie Sie diese Aufgabe erfüllen können, indem wir den Befehl "awk" verwenden.

Erstellen Sie eine Textdatei

Um diesem Tutorial zu folgen, erstellen Sie eine tab delimitierte Textdatei mit dem Namen Bücherliste.txt mit dem folgenden 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
Befehlszeile Kung Fu Jason Cannon
Linux -Befehlszeile Travis Booth
Bash in Easy Steps Mike McGrath
Unix in Easy Steps Mike McGrath

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

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

$ cat booklist.txt
$ awk '(nr> 1)' Buchliste.txt

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe enthält alle anderen Zeilen als die erste Zeile der Datei.

Beispiel 2: Überspringen Sie die erste Zeile mit NR und der '!= 'Operator

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

$ cat booklist.txt
$ awk 'nr!= 1 'Buchliste.txt

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe zeigt alle anderen Zeilen als die erste Zeile der Datei.

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

Der folgende Befehl 'awk' druckt die Zeilen der Datei, wenn die Anweisung wahr ist. Hier ist die IF -Aussage nur dann zutrifft, wenn der NR -Wert nicht gleich 1 ist.

$ cat booklist.txt
$ awk 'if (nr!= 1) print 'Buchliste.txt

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe enthält alle Zeilen mit Ausnahme 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 mit Ausnahme der ersten zu drucken. In dem Befehl 'awk' wird die erste Spalte aus der Datei basierend auf dem Feld Separator (\ t) gelesen und die Ausgabe an den zweiten 'awk' -Fehl senden. Der zweite Befehl 'awk' druckt die gewünschte Ausgabe aus.

$ cat booklist.txt
$ awk -f "\ t" 'drucken $ 1' Buchliste.txt | awk 'nr!= 1 print '

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe zeigt alle Buchnamen mit Ausnahme der 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 Befehl 'awk' verwendet, um eine formatierte Ausgabe nach dem Überspringen der ersten Zeile zu generieren. Der Befehl teilt den Dateiinhalt basierend auf \ t in Spalten und druckt Printf die ersten und zweiten Spalten aus, wenn der NR -Wert mindestens 2 beträgt.

$ cat booklist.txt
$ awk -f '\ t' 'nr> = 2 printf " %30S %20S \ n", $ 1, $ 2' Buchliste.txt

Die folgende Ausgabe wird erstellt, 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, nachdem Sie die erste Zeile mit NR und NF übersprungen haben

Der folgende Befehl 'awk' verwendet die Option '-f' 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.

$ cat booklist.txt
$ awk -f '\ t' 'nr> 1 && nf = 1' Buchliste.txt

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe enthält alle Buchnamen in der Datei mit Ausnahme der des ersten Buches.

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

Der folgende Befehl 'awk' verwendet die Option '-f' und eine bedingte Anweisung, um die Autorennamen zu drucken, nachdem die erste Zeile übersprungen wurde. Hier wird der NR -Wert im IF -Zustand verwendet. Hier wird „Autor Name: \ n \ n“ als erste Zeile anstelle des Inhalts aus der ersten Zeile gedruckt. Die Namen des Autors aus der Datei werden für die anderen Werte von NR gedruckt.

$ cat booklist.txt
$ awk -f '\ t' 'if (nr == 1) printf "\ naututhor name: \ n \ n"; sonst printf "%s \ n", $ 2 'Buchliste.txt

Die folgende Ausgabe wird erstellt, nachdem die obigen Befehle ausgeführt wurden. Die Ausgabe zeigt den Text „Autorame“: mit einer neuen Linie, und alle Autorennamen werden mit Ausnahme des ersten gedruckt.

Abschluss

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. Meldbar kann die NR -Variable des Befehls 'awk' verwendet werden, um die erste Zeile einer Datei zu überspringen.