我正在使用sed将我的配置文件中第一次出现的@@ID@@
替换为用户输入的文本。使用的命令是:
sed '0,/\@\@ID\@\@/{s/\@\@ID\@\@/'$INPUT'/}' $config_file > $temp_file
mv $temp_file $config_file
其中INPUT是用户输入的值。
如果INPUT
中没有空格,则上述语句可以正常运行,并将@@ID@@
替换为INPUT
中的值。但是当用户输入由空格分隔的文本时,配置文件中的所有内容都将被删除。这是SCARY!
请帮我解决这个问题。
答案 0 :(得分:3)
试试这行:
sed "0,/@@ID@@/{s/@@ID@@/$INPUT/}" file