majcho
Goto Top

Logfile zeilenweise splitten, wobei erste vier Ziffern neuer Dateiname sein soll

Habe in einigen Foren gesucht, jedoch als newbie keine Ahung wie ich das umsetzen soll. Hier meine Frage:

Ich möchte aus einem Logfile mit folgendem Inhalt mehrere Dateien erstellen. Der Logfile sieht so aus:

1234 eins zwei drei vier
4321 vier drei zwei eins
4711 Kölnisch Wasser
2000 das Millenium Jahr

in folgende Dateinamen aufsplitten

Datei 1234.txt mit Inhalt "eins zwei drei vier"
Datei 4321.txt mit Textinhalt "vier drei zwei eins"
...

Mit dieser Schleife wird die Datei zwar jede Zeile einzeln ausgegeben, mir fehlt jedoch die Kenntniss wie die ersten 4 Ziffern den Dateinamen bildet und jeweils eine neue Datei geschrieben wird. Außerdem wird die letzte Zeile (Nr. 4) nicht in eine Datei geschrieben.

for /f "tokens=1,* delims=:" %%i in ('findstr /n $ Logfile.txt') do @( for /L %%a in (0,1,4) do @if %%i==%%a @echo %%j )

Content-Key: 148944

Url: https://administrator.de/contentid/148944

Ausgedruckt am: 29.03.2024 um 04:03 Uhr

Mitglied: bastla
bastla 13.08.2010 um 14:19:53 Uhr
Goto Top
Hallo majcho und willkommen im Forum!

Soferne jede Zeile mit 4 Ziffern und einem Leerzeichen beginnt, sollte
for /f "tokens=1*" %%i in (Logfile.txt) do >>%%i echo "%%j"
genügen ...

Soferne es bereits eine gleichnamige Datei geben sollte, wird die Zeile an die bestehende Datei angefügt.

Grüße
bastla
Mitglied: Biber
Biber 13.08.2010 um 14:31:25 Uhr
Goto Top
Moin majcho,

willkommen auch von mir.
Ergänzend zu bastlas Lösung noch der Hinweis:

Aus einer großen Gemischtwarendatei nochmal viele kleine sortierte mit gleichem Inhalt und Informationsgehalt ZUSÄTZlCH erstellen... na ja....
Wenn alle so mit den immer knapper werdenden Ressourcen umgehen, dann müssen wir irgendwann an einem gemeinsamen Hungertuch nagen. In 3 Schichten.
Und ich will mein eigenes!!.

Du kannst die Info, die du jetzt redundant erzeugst doch jederzeit mit mit Find/FindStr/grep o-ä. auf den Schirm bekommen....
Und wenn das Ziel eine schnelle telefonische Auskunftsfähigkeit sein sollte - das geht genauso schnell wie das Suchen und Öffnen der z.B. 4711-Extrakt-Datei.

Grüße
Biber
Mitglied: majcho
majcho 13.08.2010 um 15:13:41 Uhr
Goto Top
WOW, das ging schnell!!! ... und die Lösung hat prima funktioniert.