Suche und Ersetze

D

Did

Hallo,

ich versuche aus Datei1 Variablen auszulesen (vereinfacht erst mal neu=neuerString) und in der Datei2 bestimmte Strings(von vorne herein bekannt) durch diese Variablen zu ersetzen.

Die folgende Zeile habe ich in einem Forumbeitrag gefunden, hat aber bei mir auf Cygwin nicht funktioniert.

sed -i -e "/\"$ALT\"/s/$ALT/$NEU/" datei2 > tmp.txt

Überhaupt bin ich ein Einsteiger und dachte, dass sed keine Variablen kennt.
:hilfe2:
 
Hallo
Auch hier wieder der Hinweis, dass Cygwin nicht Linux oder Unix ist.
Cygwin ist nunmal eine Windowsanwendung mit bestimmten Eigenarten.
Aber zu deinem Generellen Problem will ich dir dennoch etwas mit auf den Weg geben.

GNU sed kennt keine Variablen, und wenn du Shellvariablen verwenden willst, schau dir das Quoting deines Cygwin an.
Das dürfte auch für Cygwin entscheidend sein, ob eine Variable von der Shell aufgelöst wird oder von der Anwendung.

Ergo wirst du eine Einleseschleife brauchen, darin dann einfach die entsprechende Variable mit sed in einer Datei ersetzen.

Gruß Wolfgang
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Mehrzeiligen String mittels sed ersetzen

suchen und ersetzen, Format erhalten

Suchen und Ersetzen mit SED

Zurück
Oben