0
我使用sed替换text.xml中的单词。sed格式化双引号单引号
的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
有没有人知道背后的原因?
看起来你不需要在使用双引号夹住整个表达式时使用单引号。我尝试了用单引号三明治尝试的第一个命令,而shell似乎在等待什么。不太确定。 – Siddhartha
一次使用单引号时需要转义字符。如果你有两个人,他们会自行取消,因为有一个开始和结束。 – Sazzy