你好,
我正在为 Debian Jessie 编写 Bash 脚本,并在这一行;
<param name="script-directory" value="$${base_dir}/scripts/?.lua"/>
我试图找到 base_dir}/scripts 并将其替换为 script_dir} 以便我的新行将显示为:
<param name="script-directory" value="$${script_dir}/?.lua"/>
这是我目前尝试过的;
sed -rn '/s/base_dir}\/scripts/script_dir}/p' /etc/freeswitch/autoload_configs/lua.conf.xml
导致此错误;
sed: -e expression #1, char 12: unexpected `}'
我对如何解决这个问题感到困惑,希望得到一些帮助,谢谢。
最佳答案
您可以将此 sed
与备用分隔符一起使用,以避免转义 /
:
sed 's~base_dir}/scripts~script_dir}~' /etc/freeswitch/autoload_configs/lua.conf.xml
这里不需要-r
(扩展正则表达式需要)
关于regex - 如何修复此 SED 命令以查找和替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38445728/