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

How Skip First Line File Using 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` erledigen.

Erstellen Sie eine Textdatei

Um diesem Tutorial zu folgen, erstellen Sie eine tabulatorgetrennte Textdatei namens booklist.txt mit folgendem Inhalt. Diese Datei enthält eine Liste der Bücher 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.



$Katzebooklist.txt

$awk '(NEIN> 1)'booklist.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 den Operator „!=“ verwenden

Der folgende `awk`-Befehl ähnelt dem im vorherigen Beispiel. Allerdings wird hier der Vergleichsoperator ‚!=‘ anstelle von ‚>‘ verwendet.

$Katzebooklist.txt

$awk 'NR! = 1'booklist.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 dann wahr, wenn der NR-Wert ungleich 1 ist.

$Katzebooklist.txt

$awk '{if (NR!=1) {Druck}}'booklist.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 anhand des Feldtrennzeichens ( ) aus der Datei und sendet die Ausgabe an den zweiten `awk`-Befehl. Der zweite `awk`-Befehl gibt die gewünschte Ausgabe aus.

$Katzebooklist.txt

$awk -F 'T' '{1$ drucken}'booklist.txt| awk 'NR! = 1 Druck}'

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 in Spalten auf, und printf druckt die erste und zweite Spalte, wenn der NR-Wert mindestens 2 beträgt.

$Katzebooklist.txt

$awk -F 'T' 'NR>=2 {printf '%30s %20s ', $1, $2}'booklist.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 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 zu trennen. NR wird verwendet, um die erste Zeile zu überspringen, und NF wird verwendet, um nur die erste Spalte zu drucken.

$Katzebooklist.txt

$awk -F 'T' 'NR>1 && NF=1'booklist.txt

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

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

Der folgende `awk`-Befehl verwendet die Option '-F' 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 der Autorname: 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.

$Katzebooklist.txt

$awk -F 'T' ' {if (NR==1) printf ' Name des Autors: '; else printf '%s ', $2}'booklist.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.

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. Bemerkenswert ist, dass die NR-Variable des `awk`-Befehls verwendet werden kann, um die erste Zeile jeder Datei zu überspringen.