0

我正在使用 sed 替换 text.xml 中的一个单词。

text.xml 如下所示:

some line
<state name='generate'>
    notify
</state>
some line

我正在尝试用调用者替换单词“通知”到目前为止我的命令是:

sed -i "/<state name=\'generate\'>/,/<\/state>/s/notify/caller/" ./test.xml

我给 sed 一系列 和 之间的行。在这两行之间是我用调用者替换的“通知”这个词。

我不确定这是否是引用问题。感谢洞察力,谢谢。

编辑:我通过删除生成周围的转义字符来让它工作。

sed -i "/<state name='generate'>/,/<\/state>/s/notify/caller/" ./test.xml

有谁知道背后的原因?

4

1 回答 1

-1

使用双引号将整个表达式夹在中间时,您似乎不需要转义单引号...... – 悉达多

我通过删除生成周围的转义字符来让它工作。– 用户2661842

于 2014-08-21T06:45:06.770 回答