sed格式化双引号单引号
问题描述:
我使用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
有没有人知道背后的原因?
答
看来你不需要使用双引号时夹住整个表达式逃脱单引号... - 悉达多
我把它通过删除转义字符周围产生的工作。 - user2661842
+0
我很欣赏你在这里试图做的事情,但就目前而言,这并不能真正回答。你可以花一点时间把它编辑成更好的形状吗? – Flexo
看起来你不需要在使用双引号夹住整个表达式时使用单引号。我尝试了用单引号三明治尝试的第一个命令,而shell似乎在等待什么。不太确定。 – Siddhartha
一次使用单引号时需要转义字符。如果你有两个人,他们会自行取消,因为有一个开始和结束。 – Sazzy