GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Drucken Sie eine Datei, wobei Sie die ersten X-Zeilen in Bash überspringen

Du brauchst Schwanz. Einige Beispiele:

$ tail great-big-file.log
< Last 10 lines of great-big-file.log >

Wenn Sie wirklich eine bestimmte Anzahl von "ersten" Zeilen überspringen müssen, verwenden Sie

$ tail -n +<N+1> <filename>
< filename, excluding first N lines. >

Das heißt, wenn Sie N Zeilen überspringen möchten, beginnen Sie mit dem Drucken von Zeile N+1. Beispiel:

$ tail -n +11 /tmp/myfile
< /tmp/myfile, starting at line 11, or skipping the first 10 lines. >

Wenn Sie nur die letzten so vielen Zeilen sehen möchten, lassen Sie das „+“ weg:

$ tail -n <N> <filename>
< last N lines of file. >

Der einfachste Weg, den ich gefunden habe, um die ersten zehn Zeilen einer Datei zu entfernen:

$ sed 1,10d file.txt

Im allgemeinen Fall ist X ist die Anzahl der zu löschenden Anfangszeilen, Anerkennung für Kommentatoren und Redakteure:

$ sed 1,Xd file.txt

Wenn Sie die ersten beiden Zeilen überspringen möchten:

tail -n +3 <filename>

Wenn Sie die erste x Zeile überspringen möchten:

tail -n +$((x+1)) <filename>

Wenn auf Ihrem System GNU-Tail verfügbar ist, können Sie Folgendes tun:

tail -n +1000001 huge-file.log

Es ist die + Charakter, der tut, was du willst. Um aus der Manpage zu zitieren:

Wenn das erste Zeichen von K (die Anzahl der Bytes oder Zeilen) ein `+' ist, drucke beginnend mit dem K-ten Element vom Anfang jeder Datei.

Wie im Kommentar erwähnt, beginnt das Drucken mit +1000001 also mit dem ersten Element nach den ersten 1.000.000 Zeilen.


Linux
  1. Wie lösche ich die ersten N Zeilen einer ASCII-Datei mit Shell-Befehlen?

  2. Tail -f beenden, nachdem N Zeilen gedruckt wurden?

  3. Wie verwende ich die Zeilen einer Datei als Argumente eines Befehls?

  4. Wie erhalte ich das absolute Verzeichnis einer Datei in Bash?

  5. Entfernt die ersten N Zeilen aus einer aktiven Protokolldatei

So drucken Sie doppelte Zeilen in einer Textdatei unter Linux

5 Möglichkeiten, die Anzahl der Zeilen in einer Datei zu zählen

Dateiinhalt ohne die erste und letzte Zeile drucken?

Wie liest man die letzte Zeile einer Textdatei mit Bash in eine Variable?

Wie drucke ich die letzte Zeile einer gz-komprimierten Datei in der Befehlszeile?

Verwenden von tail, um einer Datei zu folgen, ohne die neuesten Zeilen anzuzeigen