# Batchprogramm zum ersetzen von Text in Datei mit Whitespaces



## webmartin (9. September 2004)

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


----------



## squeaker (9. September 2004)

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).


----------



## webmartin (9. September 2004)

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


----------



## squeaker (10. September 2004)

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)


```
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;
}
```


----------

