sp33dy
Goto Top

Wie bestimmte Stellen in Zeilen aus .txt entfernen

Hallo erstmal,

Ich habe eine Textdatei "xyz.txt" die folgendermaßen aufgebaut ist

abc d.e.f.g:h
abc d.e.f.g:h
abc d.e.f.g:h
...

abc steht für irgendeine beliebige Zahl mit immer verschiedenen Anzahl an Ziffern
dann 2 "leerzeichen" und d.e.f.g:h sind verschiedene IPs mit Port mit je unterschiedlichen Anzahl an Ziffern

Nun möchte ich aber die Zahl abc und die folgenden 2 "leerzeichen" löschen damit nur d.e.f.g:h übrig bleibt

Ist dies mit Batch oder irgendeinem Script zu bewerkstelligen und wenn ja wie, da die datei ca 2 Millionen Zeilen hat ist dies schwer per "Handarbeit zu erledigen.

MfG Sp33dy

Content-Key: 132280

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

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: rubberman
rubberman 26.12.2009 um 13:50:43 Uhr
Goto Top
Hallo Sp33dy,

teile jede Zeile bei den Leerzeichen und gib nur die 2. Hälfte aus.

Also etwa so:
@echo off &setlocal
set Quelle=xyz.txt
set Ziel=xyz_2.txt

type nul>"%Ziel%"  
for /f "usebackq tokens=1*" %%a in ("%Quelle%") do >>"%Ziel%" echo %%b  

Grüße
rubberman
Mitglied: bastla
bastla 26.12.2009 um 13:51:54 Uhr
Goto Top
Hallo Sp33dy und willkommen im Forum!

Unter der Annahme, dass es vor den beiden genannten Leerzeichen keine weiteren gibt, sollte das so (direkt von der Kommandozeile aus) gehen:
for /f "tokens=1*" %i in (xyz.txt) do @>>neu.txt echo %j
Um einen Batch daraus zu machen, %%i und %%j schreiben ...

Grüße
bastla

[Edit] @rubberman: OK, Du warst schneller - schöner ist Deine Lösung aber trotzdem ... face-wink [/Edit]
Mitglied: Sp33dy
Sp33dy 26.12.2009 um 14:14:44 Uhr
Goto Top
Danke rubberman

hat sehr geholfen