Mehrere Wörter mit sed ersetzen (Batch)

Hallo!

Ich möchte in einem txt File mehrere Wörter mittels „sed (Windows)“ ersetzen.

Bei einem Text wie: „Mimi geht in das Haus“ möchte ich „Mimi“ durch „Petra“ und „Haus“ durch „Wohnung“ ersetzen.

Das ganze sollte mit einer Windows Batch Datei passieren… also stehen alle Kommandos im *.bat file - Doppelklick drauf- und alle Ersetzvorgänge starten und speichern das neue File irgendwo hin.

Habs probiert, dass ich folgendes *.bat file kreiert habe:

C:\mess\sed -e s/Mimi/Petra/p mimi.txt >petra.txt
C:\mess\sed -e s/Haus/Wohnung/p mimi.txt >petra.txt

…jedoch hat er mir immer nur die letzte Ersetzung gemacht.

Gibts andere Möglichkeiten?

LG & Danke
Harry

Hallo!

Hallo Harry mal wieder,

Habs probiert, dass ich folgendes *.bat file kreiert habe:

C:\mess\sed -e s/Mimi/Petra/p mimi.txt >petra.txt
C:\mess\sed -e s/Haus/Wohnung/p mimi.txt >petra.txt

…jedoch hat er mir immer nur die letzte Ersetzung gemacht.

Denkfehler?
Schritt 1 nimmt Datei mimi.txt, führt Ersetzung 1 durch und schreibt das Ergebnis nach petra.txt. Schritt 2 nimmt Datei mimi.txt (also die ursprüngliche Datei aus Schritt 1), führt Ersetzung 2 durch und schreibt das Ergebnis nach petra.txt (und überschreibt somit das Ergebnis aus Schritt 1). Dämmerts jetzt?

Also: entweder mit Zwischenfile (mimi.txt -> temp -> petra.txt) oder aber mehrere Ersetzung auf einmal (sed kann auch mehrere -e Parameter auf einmal auswerten…).

gruss
bernhard