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

Protokolle der letzten 100 Zeilen abrufen

Sehen Sie, das sed-Skript, das die 100 letzten Zeilen ausgibt, finden Sie in der Dokumentation für sed (https://www.gnu.org/software/sed/manual/sed.html#tail):

$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p

$ sed -nf sed.cmd logfilename

Für mich ist es viel schwieriger als Ihr Skript, also

tail -n 100 logfilename

ist viel viel einfacher. Und es ist ziemlich effizient, es liest nicht alle Dateien, wenn es nicht notwendig ist. Siehe meine Antwort mit dem Strace-Bericht für tail ./huge-file :https://unix.stackexchange.com/questions/102905/does-tail-read-the-whole-file/102910#102910


Sie können einfach den folgenden Befehl verwenden:-

tail -NUMBER_OF_LINES FILE_NAME

B. tail -100 test.log

  • holt die letzten 100 Zeilen aus test.log

Falls Sie die Ausgabe des Obigen in einer separaten Datei wünschen, können Sie wie folgt leiten:-

tail -NUMBER_OF_LINES FILE_NAME> OUTPUT_FILE_NAME

B. tail -100 test.log > output.log

  • holt die letzten 100 Zeilen aus test.log und speichert sie in einer neuen Datei output.log)

Sie können den tail-Befehl wie folgt verwenden:

tail -100 <log file>   > newLogfile

Jetzt werden die letzten 100 Zeilen in newLogfile vorhanden sein

BEARBEITEN:

Neuere Versionen von tail, wie von twalberg erwähnt, verwenden den Befehl:

tail -n 100 <log file>   > newLogfile

"tail" ist ein Befehl zum Anzeigen des letzten Teils einer Datei. Die Verwendung geeigneter verfügbarer Schalter hilft uns, eine spezifischere Ausgabe zu erhalten. Die am häufigsten verwendeten Schalter für mich sind -n und -f

SYNOPSIS

Schwanz [-F | -f | -r] [-q] [-b Zahl | -c Zahl | -n Nummer] [Datei ...]

Hier

-n Zahl :Der Ort ist Zahlenzeilen.

-f :Die Option -f bewirkt, dass tail nicht stoppt, wenn das Dateiende erreicht ist, sondern darauf wartet, dass zusätzliche Daten an die Eingabe angehängt werden. Die Option -f wird ignoriert, wenn die Standardeingabe eine Pipe ist, aber nicht, wenn es sich um einen FIFO handelt.

Protokolle der letzten 100 Zeilen abrufen

To get last static 100 lines  
     tail -n 100 <file path>

To get real time last 100 lines
     tail -f -n 100 <file path>

Linux
  1. So verwenden Sie den Befehl tail, um Protokolle in Echtzeit anzuzeigen

  2. Wie lösche ich die ersten/letzten 'n' Zeilen aus der Befehlsausgabe in der Shell?

  3. Shell-Test, ob eine mehrzeilige Zeichenfolge das angegebene Muster in der letzten Zeile enthält?

  4. Dateiinhalt ohne die erste und letzte Zeile drucken?

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

3 Möglichkeiten zum Ansehen von Protokollen in Echtzeit unter Linux

Entfernen Sie effizient die letzten beiden Zeilen einer extrem großen Textdatei

Wie kann man eine Datei zeilenweise abschneiden?

Das Hinzufügen von Tail-Verhalten, bei dem enter Leerzeilen zu less hinzufügt

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

Farbende von Apache-Protokollen