Ich muss die letzten 100 Protokollzeilen aus der Protokolldatei abrufen. Ich habe den Befehl sed ausprobiert
sed -n -e '100,$p' logfilename
Bitte lassen Sie mich wissen, wie ich diesen Befehl ändern kann, um die letzten 100 Zeilen gezielt abzurufen .
Antworten:
Sie können den Befehl tail wie folgt verwenden:
Jetzt sind die letzten 100 Zeilen in vorhanden
newLogfile
BEARBEITEN:
Neuere Versionen von tail, wie von twalberg erwähnt, verwenden den Befehl:
quelle
tail
die Syntax erforderntail -n 100 <filename>
...Schauen Sie sich das sed-Skript an, das die 100 letzten Zeilen druckt, die Sie in der Dokumentation zu sed finden ( https://www.gnu.org/software/sed/manual/sed.html#tail ):
Für mich ist es viel schwieriger als Ihr Skript
ist viel viel einfacher. Und es ist sehr effizient, es liest nicht alle Dateien, wenn es nicht notwendig ist. Siehe meine Antwort mit Strace-Bericht für
tail ./huge-file
: /unix/102905/does-tail-read-the-whole-file/102910#102910quelle
"tail" ist ein Befehl zum Anzeigen des letzten Teils einer Datei. Die Verwendung der richtigen verfügbaren Schalter hilft uns, eine spezifischere Ausgabe zu erhalten. Der für mich am häufigsten verwendete Schalter ist -n und -f
ZUSAMMENFASSUNG
Hier
Rufen Sie die Protokolle der letzten 100 Zeilen ab
quelle
Ich weiß, das ist sehr alt, aber für wen auch immer es hilft.
less +F my_log_file.log
Das ist einfach, mit weniger kann man viel mächtigere Dinge tun. Sobald Sie Protokolle sehen, können Sie suchen, zur Zeilennummer gehen, nach Mustern suchen und vieles mehr. Außerdem ist dies bei großen Dateien schneller.
es ist wie vim für Protokolle [total meine Meinung]
Dokumentation des Originals Less: https://linux.die.net/man/1/less
weniger Cheatsheet: https://gist.github.com/glnds/8862214
quelle
Die erste Zeile nimmt die Länge (Gesamtzahl der Zeilen) der Datei an, dann +1 in der Gesamtzahl der Zeilen. Danach müssen wir 100 Datensätze abfangen, also -99 von der Gesamtlänge. Fügen Sie dann einfach die Variablen in den Befehl sed ein, um die letzten 100 Zeilen aus der Datei abzurufen
Ich hoffe, dies wird dir helfen.
quelle