我正在编写一个脚本来替换linux中的文件中的字符串。
这是我的代码:
echo "Enter file name? "
read FILE1
echo "You have entered, $FILE1"
echo "String to be replaced "
read STR1
echo "You have entered, $STR1"
echo "Replace by "
read STR2
echo "You have entered, $STR2"
sed -i 's/$STR1/$STR2/g' /misc/home3/abc/$FILE1
echo "DONE !!"
字符串未在文件中替换。 它可能有什么问题?
谢谢:)
答案 0 :(得分:1)
不要将'
用于sed-string,而是"
,如下所示:
sed -i "s/$STR1/$STR2/g" /misc/home3/abc/$FILE1
双引号允许shell在引用文本内部进行变量扩展。单一勾选'
可以防止这种情况发生。