Ich muss Text in einer Textdatei durch einen Ersatz ersetzen. Normalerweise würde ich sowas machen
sed -i 's/text/replacement/g' path/to/the/file
Das Problem ist, dass beide text
und replacement
komplexe Zeichenfolgen Bindestriche, Schrägstriche, schwarze Schrägstriche, Anführungszeichen usw. enthalten. Wenn ich alle notwendigen Zeichen in text
der Sache entkomme , wird schnell unlesbar. Andererseits brauche ich keine regulären Ausdrücke: Ich muss den Text nur wörtlich ersetzen.
Gibt es eine Möglichkeit, Text ohne reguläre Ausdrücke mit einem bash-Befehl zu ersetzen ?
Es wäre ziemlich trivial, ein Skript zu schreiben, das dies tut, aber ich denke, es sollte schon etwas geben.
bash
immer mit Microsoft Word ausgeliefert wurden? ;) Nein, ich mache nur Scherze. Möglicherweise möchte das OP dies auf einem Remote-Computer oder für einen Stapel von Dateien tun.
sed
, was angesichts aller Switches und Plattformunterschiede wahrscheinlich eine vergebliche Anstrengung ist.
find and replace all