我无法弄清楚如何使用sed
来搜索和替换/
文本文件中包含该字符的字符串/etc/myconfig
。
例如,在我现有的文本文件中,我有:
myparam /path/to/a argB=/path/to/B xo
我希望将其替换为:
myparam /path/to/c argB=/path/to/D xo
我尝试在 bash 中这样做:
line='myparam /path/to/a argB=/path/to/B xo'
line_new='myparam /path/to/c argB=/path/to/D xo'
sed -i 's/$line/$line_new/g' /etc/myconfig
但什么也没有发生。
尝试
grep -rn "$line" /etc/myconfig
不过确实返回了我'myparam /path/to/a argB=/path/to/B xo'
。
表达我的sed
命令以执行此搜索和替换并正确处理命令的正确方法是什么/
?(我认为/
我的字符串中的字符是给我带来问题的字符,因为我使用类似的sed
命令来搜索和替换文本文件中的另一行没有问题,并且该行没有/
字符。