我有一个名为file.conf的文件,其中包含:
这是配置文本,这是要更改的WORD。
运行:
sed -i 's/WORD/"ONE TWO"/g' file.conf
我将修改file.conf:
这是配置文本,这是要更改的“两个”。
现在,如果我编写脚本,则使用以下命令:
read -p 'word to change' TEXT -> "ONE TWO"
echo $TEXT -> "ONE TWO"
sed -i 's/WORD/'$TEXT'/g' file.conf
它不适用于错误消息:
sed: -e expression #1, char 11: unterminated `s' command
file.conf在这种情况下不会被修改。
但是如果我只读一个没有空格的单词$ TEXT,它就可以工作:例如“ ONE”。
感谢乡亲。
答案 0 :(得分:1)
像这样的双引号变量:
sed -i 's/WORD/'"$TEXT"'/g' file.conf
更安全:
sed -i 's/WORD/'"${TEXT}"'/g' file.conf