我正在尝试将显示为变量的值替换为另一个显示为第二个变量的值,使用以下行:
sed -i "s/$header/$new/" file.f
其中“$ header”是旧的变量,我想用新的变量替换($ new)。
我收到了这个错误:
sed: -e expression #1, char 20: unknown option to `s'
我试过
sed -i 's/$header/$new/' file.f
sed -i "s/$header/$new/" file.f
sed -i 's/"$header"/"$new"/' file.f
似乎没有任何效果。 我应该怎么写这一行,这样才能得到正确的输出(用文件中的'$ new'替换'$ header')?
提前致谢
答案 0 :(得分:0)
sed -i "s/$old/$new/" file
工作正常。如果您的数据包含字符/.
,则可以更改separtorsed -i "s@$old@$new@" file
答案 1 :(得分:0)
如果您不确定变量的内容并减少与分隔符的冲突,可以使用
sed "s^A$old^A$new^A"
输入CTRL-A
按CTRL-V + CTRL-A
(或在vars中不期望的任何其他值)