Textdatei ausgeben (die letzten 10 zeilen)
guten Morgen zusammen,
Ich suche n Möglichkeit, mit der ich so etwas machen kann wie mit
allerdings immer nur die letzten 10 zeilen ausgegeben werden.
vllt steh ich grad aufm schlauch, aber ich hab grad keine idee wie das gehen könnte
Danke schonmal für eure Beiträge.
Grüße
Bankaifan
Ich suche n Möglichkeit, mit der ich so etwas machen kann wie mit
more
allerdings immer nur die letzten 10 zeilen ausgegeben werden.
vllt steh ich grad aufm schlauch, aber ich hab grad keine idee wie das gehen könnte
Danke schonmal für eure Beiträge.
Grüße
Bankaifan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151604
Url: https://administrator.de/forum/textdatei-ausgeben-die-letzten-10-zeilen-151604.html
Ausgedruckt am: 22.12.2024 um 19:12 Uhr
17 Kommentare
Neuester Kommentar
aha ok dann wäre der befehl:
"tail -10" geeignet
also :D "tail -10 /root/logdatei" z.B. zeit dir die letzen 10 Zeilen in der Datei /root/logdatei an
Aber ich empfehle Dir die manpages mal durchzulesen, gibt tolle Sachen
http://linuxmanpages.com/man1/tail.1.php
oder in der console: "man tail" eingeben.
Gruss
"tail -10" geeignet
also :D "tail -10 /root/logdatei" z.B. zeit dir die letzen 10 Zeilen in der Datei /root/logdatei an
Aber ich empfehle Dir die manpages mal durchzulesen, gibt tolle Sachen
http://linuxmanpages.com/man1/tail.1.php
oder in der console: "man tail" eingeben.
Gruss
Ah ok, dachte mir nur vll weiß ich was falsches xD
verdammt -.-
Ich dachte mir schon das ist ja zu leicht xD
Hier kriegst du tail für windows
http://tailforwin32.sourceforge.net/
verdammt -.-
Ich dachte mir schon das ist ja zu leicht xD
Hier kriegst du tail für windows
http://tailforwin32.sourceforge.net/
Moin bankaifan,
die Befehle tail/head gibt es auch zigfach als Windowsportierungen namens head.exe/tail.exe im Netz zu finden.
Wäre bei einer Logdatei (in handelsüblicher Größe) auch unbedingt meine Empfehlung.
Als Behelfskrücke, wenn es ohne derartige Helferlein sein soll oder eben keine installierte tail.exe vorausgesetzt werden kann, dann.
Dreistufiges Vorgehen:
Skizze im Batch:
<code type>
@echo off & setLocal
for /f "delims=:" %%i in ('findstr /n $ deine.log') do set /a "lines=%%i"
:: in %lines% steht jetzt Gesamtzeilenanzahl
set /a lines-=10
:: in %lines% steht jetzt Gesamtzeilenanzahl minus 10
More +%lines% deine.log
Anmerkung:
- wirklich nur als Notnagel!
- Sissies würden noch das Ergebnis von "set /a lines-=10" prüfen... wenn die Logdatei nur 2 Zeilen hat und du entsprechend mit more die Zeilen %lines%=(-8) anzeigen lassen willst... dann kommt Grütze raus.
Grüße
Biber
die Befehle tail/head gibt es auch zigfach als Windowsportierungen namens head.exe/tail.exe im Netz zu finden.
Wäre bei einer Logdatei (in handelsüblicher Größe) auch unbedingt meine Empfehlung.
Als Behelfskrücke, wenn es ohne derartige Helferlein sein soll oder eben keine installierte tail.exe vorausgesetzt werden kann, dann.
Dreistufiges Vorgehen:
- Ermittlung der Gesamtzahl der Zeilen der Logdatei mit FOR/F und Findstr.
- gewünschte Zeilenanzahl zurückrechnen, z.B. 10 Zeilen
- Anzeigen der Logdatei mit MORE +%GesamtZeilenMinusX%
Skizze im Batch:
<code type>
@echo off & setLocal
for /f "delims=:" %%i in ('findstr /n $ deine.log') do set /a "lines=%%i"
:: in %lines% steht jetzt Gesamtzeilenanzahl
set /a lines-=10
:: in %lines% steht jetzt Gesamtzeilenanzahl minus 10
More +%lines% deine.log
Anmerkung:
- wirklich nur als Notnagel!
- Sissies würden noch das Ergebnis von "set /a lines-=10" prüfen... wenn die Logdatei nur 2 Zeilen hat und du entsprechend mit more die Zeilen %lines%=(-8) anzeigen lassen willst... dann kommt Grütze raus.
Grüße
Biber
moin,
wenn tail nicht geht und das ganze eh von verbätchelt ist - kommts ja "darauf" eh nicht mehr an...
Gruß
Weder schnell noch schön oder elegant
edit @Biber - jetzt war ich telefonieren.../edit
wenn tail nicht geht und das ganze eh von verbätchelt ist - kommts ja "darauf" eh nicht mehr an...
for /f "tokens=1 delims=:" %%a in ('findstr /n "." c:\xyz.txt') do set zeilen=%%a
set /a %zeilen%-10
more c:\xyz.txt +%zeilen%
Gruß
Weder schnell noch schön oder elegant
edit @Biber - jetzt war ich telefonieren.../edit
Moin bankaifan,
zu den etwas unüblichen Parametern "delims=:" bei FOR/F und "." bzw "$" bei FindStr.
"Delims=:" bedeutet, dass jede Zeile in der FOR/F-Anweisung in Häppchen (neudeutsch tokens) aufgespalten wird und das Trennzeichen zwischen Häppchen ein Doppelpunkt ist
Bsp für die Logdatei-Zeilen mit FindStr /n aufgelistet
Als erstes wird von FindStr /n die Zeilennummer (hier: 95, 96, ...) herausgeschrieben gefolgt von einem Doppelpunkt.
Und die will ich haben.
Die Findstr-Parameter "." bzw $
- ein Punkt steht für ein beliebiges Zeichen... alle nicht-leeren Zeilen werden angezeigt/berücksichtigt
- ein $ steht für ein Zeilenende (CRLF unter Windows). Alle Zeilen mit einem CRLF werden berücksichtigt.
So würde bei meiner Test-Logdatei die Gesamtzahl Zeilen bei T-Mo um 1 niedriger sein, weil meine Logdatei eine Leerzeile enthält.
P.S. Durch T-Mos "set /a %zeilen%-10" wird kurz das Ergebnis von "%zeilen%-10" angezeigt... aber der tail-Output ist wesentlich kürzer als bei mir.
Grüße
Biber
zu den etwas unüblichen Parametern "delims=:" bei FOR/F und "." bzw "$" bei FindStr.
"Delims=:" bedeutet, dass jede Zeile in der FOR/F-Anweisung in Häppchen (neudeutsch tokens) aufgespalten wird und das Trennzeichen zwischen Häppchen ein Doppelpunkt ist
Bsp für die Logdatei-Zeilen mit FindStr /n aufgelistet
...
95:Dec 22, 2005, 10:38:18 Session 1: RCPT TO:
96:Dec 22, 2005, 10:38:18 Session 1: Recipient address eject:
..
Und die will ich haben.
Die Findstr-Parameter "." bzw $
- ein Punkt steht für ein beliebiges Zeichen... alle nicht-leeren Zeilen werden angezeigt/berücksichtigt
- ein $ steht für ein Zeilenende (CRLF unter Windows). Alle Zeilen mit einem CRLF werden berücksichtigt.
So würde bei meiner Test-Logdatei die Gesamtzahl Zeilen bei T-Mo um 1 niedriger sein, weil meine Logdatei eine Leerzeile enthält.
P.S. Durch T-Mos "set /a %zeilen%-10" wird kurz das Ergebnis von "%zeilen%-10" angezeigt... aber der tail-Output ist wesentlich kürzer als bei mir.
Grüße
Biber