1
テキストファイル内のテキストを置き換えようとしています。私のスクリプトでは、私は見つけると二つの変数の中に交換するテキストを格納している:変数内の空白を含むsedでテキストを置き換える
$currentProductName='hello'
$configProductName='byebye'
交換は、この行で行われている:私の変数のいずれかが空白を含むされるまで
sed -i'.bak' 's/$currentProductName/$configProductName/g' "$projectFile"
すべてが正常に動作します。 $configProductName
がhello world
に設定されている場合、sed
コマンドは期待どおりに機能しません。あまりにも、
I'veはすでにこれを試みたが、それは動作しません:
sed -i'.bak' 's/"$currentProductName"/"$configProductName"/g' "$projectFile"
sed -i'.bak' 's/\$currentProductName/\$configProductName/g' "$projectFile"
どのように私は期待通りに動作するように行を変更しなければならないのですか?
あなたは本当に 'sed -i'.bak '/ $ currentProductName/$ configProductName/g''の作品ですか? – Sundeep
はいそれは動作します... MacOSで動いています –
私が知る限り、bashは一重引用符内の文字列を解釈しません。 – Sundeep