使用read命令初始化多个单词字符串的sed

使用read命令初始化多个单词字符串的sed,sed,Sed,我有一个名为file.conf的文件,其中包含: 这是配置文本,这是要更改的单词 运行: sed -i 's/WORD/"ONE TWO"/g' file.conf 我将修改file.conf: 这是配置文本,这是要更改的“一二” 现在,如果我制作一个脚本,使用read: read -p 'word to change' TEXT -> "ONE TWO" echo $TEXT -> "ONE TWO" sed -i 's/WORD/'$TEXT'/g' file.conf

我有一个名为file.conf的文件,其中包含:

这是配置文本,这是要更改的单词

运行:

sed -i 's/WORD/"ONE TWO"/g' file.conf 
我将修改file.conf:

这是配置文本,这是要更改的“一二”

现在,如果我制作一个脚本,使用read:

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时只使用一个不带空格的单词,它就会起作用,例如:“一”


Thanx各位。

双引号变量如下:

sed -i 's/WORD/'"$TEXT"'/g' file.conf
更安全的是:

sed -i 's/WORD/'"${TEXT}"'/g' file.conf
可能重复的