PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bestimmten Text aus Textdatei extrahieren (BATCH)


Da_B00N
04.11.2006, 12:47
Hallo, ich kenne mich einigermaßen mit Batch aus, aber das bekomme ich einfach nicht hin :(

Ich habe eine Logfile, die so aussieht:
HTTP:213.60.74.227 [localhost:127.0.0.1] Time:12:42 AM

Nun würde ich gerne die Ausgabe mit einem Batchscript dp ändern, dass er mir den Text so ausspuckt:
Er soll zu jedem Zeitpunkt die Zugriffe in eine seperate Datei speichern, z.B:
HTTP_12.42.txt
localhost 127.0.0.1 213.60.74.227


Ich weiß, das ist nicht einfach, wenn ihr wenigstens etwas weiterelfen könntet, wäre ich euch sehr dankbar.


MfG Da_B00N


amoxys
05.11.2006, 04:27
Hallo!
Ich glaube, dass dir der FOR Befehl weiterhelfen kann. Wenn man den Parameter /F verwendet, kann man damit eine Textdatei in ihre Zeilen, und die Zeilen in ihre Einzelteile zerlegen.

So sähe das dann in einer .bat aus:
FOR /F "tokens=1-8 delims=:[] " %%i IN (log.txt) DO echo %%k %%l %%j >> %%i_%%n.%%o.txt (Die doppelten Prozentzeichen müssen nur benutzt werden, weil die Zeile in einer .bat steht.)

Dabei wird jede Zeile der log.txt in 8 Tokens zerlegt. Bei deinem Beispiel sind das

%i = HTTP
%j = 213.60.74.227
%k = localhost
%l = 127.0.0.1
%m = Time
%n = 12
%o = 42
%p = AM

Anschließend wird damit ein Befehl zusammengebaut und ausgeführt. Das Ergebnis des Befehls wird an die entsprechende Datei angehängt.

Das funktioniert aber natürlich nur, wenn jede Zeile diesen Aufbau hat.

Da_B00N
05.11.2006, 12:36
Danke, habe es etwas angepasst und jetzt funzt es SUPER!

Super Hilfe hier, 1A :)

Da_B00N
05.11.2006, 17:53
Da ihr mir so gut geholfen habt, hätte ich gleich noch eine Frage

Wie kann man eine Textdatei nach einem bestimmten Zeichen, oder Wort suchen lassen, und diesen aus dieser Datei entfernen?