的字符串我无法弄清楚如何使用sed
在文本文件/etc/myconfig
中搜索并替换包含/
字符的字符串。sed搜索并替换包含/
举例来说,在我现有的文本文件,我有:
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
命令搜索并替换没有问题的文本文件,另一行和该行没有/
字符。
替换和引用规则实际上是关于bash而不是sed的。你可能想添加bash作为标签。 – KarlM 2012-04-25 05:56:43
好的。将添加'bash'作为标签。 – 2012-04-25 05:59:37