Batchprogramm zum ersetzen von Text in Datei mit Whitespaces

webmartin

Grünschnabel
Hallo Leute,

ich möchte ein Batchprogramm schreiben, das mir in einer (TXT)-Datei bestimmte Strings löscht.

Allerdings ist immer nur der Anfang einer Zeile bekannt, aber auch der Rest der Zeile soll gelöscht werden.

zB
inhalt jsdfjsdhfgjksdfg
inhalt jkhfgjkhgfsdghjk

Es sollen also beide Zeilen glöscht werden auch wenn die zeichenkolonne am Ende unbekannt ist.

Kann mir da jemand weiterhelfen?

Danke und Gruß,
Martin
 
2 Möglichkeiten:

a) zusätzliche tools wie z.b. grep (gibt's auch als Windows Version)
b) tu dir einen gefallen, nimm Perl. Das löst alle deine Probleme mit 3 Zeilen (oder so).
 
leider kann weder grep noch munge mit whitespaces umgehen, auch andere tools die ich gefunden habe nicht...

das problem mit perl ist, daß die maschine auf der das später laufen soll, schon arg am limit ist und ich eigtl nichts großes mehr installieren wollte...

aber falls ich keinen anderen weg finden sollte:
wie würde denn sowas in perl aussehen (hab bisher noch fast nichts damit gemacht...)

Danke und Gruß,
Martin
 
a) zur Installation: einmal auf irgendeinem Rechner installieren (minimal) und dann einfach umkopieren. Wenn man die Perl.exe mit pfad aufruft braucht sie keine Systemvariablen etc. Ist fast wie grep installieren.

b)

Code:
open (I,"test.txt") || die("Kann Datei nicht öffnen");
open (O,">testneu.txt") || die("Kann nicht schreiben");
while ($line=<I>) {
  next if $line=/^inhalt/;
   print O $line;
}
 

Neue Beiträge

Zurück