使用read命令初始化多个单词字符串的sed
我有一个名为file.conf的文件,其中包含: 这是配置文本,这是要更改的单词 运行:使用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
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
可能重复的