我有一个包含多行xml的文件。我想替换文件的某些部分。文件的某些部分包含引号("
),我想替换它们。我一直在尝试使用来转义引号\
,但是基于文件的结果,我认为这不起作用。
这是我的sed命令之一的示例:
sed -e "s/\"text\"/'text'/ig" file.xml > temp.tmp
这是您在sed命令中转义引号的方式还是我做错了什么?
那么
—
jbranchaud 2011年
\"
在sed命令中转义引号的正确方法是吗?
不适用于sed:sed不需要或支持转义
—
吉尔(Gilles)“所以,别再邪恶了”,
"
。但是您的shell命令使用双引号字符串,并且\"
在那里正确。该sed
程序将s/"text"/'text'/ig
视为的参数-e
。
@Gilles空格呢?sed是否理解并尊重空格?例如,如果我的命令包含
—
jbranchaud 2011年
s/\"text\" /'text'/ig
该命令,那么将只能找到"text"
其后的空格吗?
空格必须完全匹配。建议不要发布一些示例输入和相应的所需输出(并可能解释为什么需要更改报价),而不是继续进行此对话。甚至还不清楚这
—
吉尔(Gilles)“所以,别再邪恶了”,
sed
是否是正确的工具,也许您需要XML解析器。
"text"
用'text'
。当然它不会做任何事情"othertext"
。显示一些输入行,以及相应的不需要的输出,并解释您想要的输出。