Batch - Zeige X Zeilen aus Datei.txt
Hallo zusammen,
ich hab hier ja schon recht viel über batch und co gelesen, aber jetzt hab ich ein Problem, bei dem ich noch nichts dazu gefunden habe. Ich bin mir sicher ihr könnt mir dabei helfen:
Ich hab eine txt Datei mit recht viel text (ne extrem ausführliche Logdatei). Nun hab ich mit "findstr /N" die für mich relevanten Zeilen gefunden. Mein Problem ist aber, dass ich nicht nur diese Zeilen brauche, sondern die X Zeilen darunter auch noch. Ich brauche also von Position A, Anzahl X Zeilen.
Ich dachte da an sowas wie:
und das halt in einer Schleife über meine Positionen.
Hat da jemand eine Idee?
Grüße und danke im voraus
ich hab hier ja schon recht viel über batch und co gelesen, aber jetzt hab ich ein Problem, bei dem ich noch nichts dazu gefunden habe. Ich bin mir sicher ihr könnt mir dabei helfen:
Ich hab eine txt Datei mit recht viel text (ne extrem ausführliche Logdatei). Nun hab ich mit "findstr /N" die für mich relevanten Zeilen gefunden. Mein Problem ist aber, dass ich nicht nur diese Zeilen brauche, sondern die X Zeilen darunter auch noch. Ich brauche also von Position A, Anzahl X Zeilen.
Ich dachte da an sowas wie:
more +%%A %log_name% /Show=%Anzahl_Zeilen% >> Ergebnis.txt
und das halt in einer Schleife über meine Positionen.
Hat da jemand eine Idee?
Grüße und danke im voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113340
Url: https://administrator.de/forum/batch-zeige-x-zeilen-aus-datei-txt-113340.html
Ausgedruckt am: 26.12.2024 um 01:12 Uhr
3 Kommentare
Neuester Kommentar
Hm... klingt nach Unix-Grep...
Darfst du Dritt-tools verwenden?
http://unxutils.sourceforge.net/
Die Unix-Tools sind nativ für Windows kompiliert, also kein Cygwin oder so.
Für dein Problem brauchst du aus dem Zip-File nur
\usr\local\wbin\grep.exe nach %WINDIR%\system32 zu kopieren
Dann kannst du das hier machen:
type logfile.txt|grep dassuchich -A 5
was soviel heißt wie:
such im ganzen logfile.txt nach "dassuchich" und zeig bei der Fundstelle 5 Zeilen danach auch noch an...
Wenn du die Unix-Tools kennst freu dich - diese Tools funktionieren genau gleich.
Wenn nicht - mit
grep --help
bekommst du Hilfe. IMHO sind für dich grep, find und sed interessant.
Ich hoff mal das hilft.
LG Florian http://www.lagg.at/
Darfst du Dritt-tools verwenden?
http://unxutils.sourceforge.net/
Die Unix-Tools sind nativ für Windows kompiliert, also kein Cygwin oder so.
Für dein Problem brauchst du aus dem Zip-File nur
\usr\local\wbin\grep.exe nach %WINDIR%\system32 zu kopieren
Dann kannst du das hier machen:
type logfile.txt|grep dassuchich -A 5
was soviel heißt wie:
such im ganzen logfile.txt nach "dassuchich" und zeig bei der Fundstelle 5 Zeilen danach auch noch an...
Wenn du die Unix-Tools kennst freu dich - diese Tools funktionieren genau gleich.
Wenn nicht - mit
grep --help
bekommst du Hilfe. IMHO sind für dich grep, find und sed interessant.
Ich hoff mal das hilft.
LG Florian http://www.lagg.at/
Hier mal ne Möglichkeit nur mit Boardmitteln (ungetestet). Die ist bei langen Dateien allerdings auch langsam.
@echo off
set "datei=Datei.txt"
set "suchtext=bla"
set pluszeilen=10
FOR /F "tokens=1 delims=:" %%i in ('findstr /N "%suchtext%" "%datei%"') do FOR /F "tokens=1* delims=:" %%a in ('more +%%i "%datei%" | findstr /N .*') do if %%a leq %endzeile% echo %%b