Ich versuche, etwas Text in einer Textdatei zu ersetzen. In meinem Skript habe ich den Text speichern zu finden und innerhalb von zwei Variablen zu ersetzen:Ersetzen von Text mit sed mit Leerzeichen in Variable
$currentProductName='hello'
$configProductName='byebye'
Der Austausch mit dieser Linie erfolgt:
sed -i'.bak' 's/$currentProductName/$configProductName/g' "$projectFile"
Alles funktioniert gut, bis alle meine Variablen enthalten Leerzeichen . Wenn der $configProductName
auf hello world
festgelegt ist, funktioniert der Befehl sed
nicht wie erwartet.
Ive bereits versucht, diese aber auch nicht funktioniert:
sed -i'.bak' 's/"$currentProductName"/"$configProductName"/g' "$projectFile"
sed -i'.bak' 's/\$currentProductName/\$configProductName/g' "$projectFile"
Wie muss ich die Zeile wie erwartet zu funktionieren?
Sind Sie sicher, dass 'sed -i'.bak'/$ currentProductName/$ configProductName/g'' funktioniert? – Sundeep
ja es funktioniert ... läuft auf macOS –
gut, soweit ich weiß, Bash wird String nicht in einfache Anführungszeichen interpretieren, also nicht sicher, wie es für Sie funktioniert ... seltsam – Sundeep