我有一个xml文件,其中包含空标记,如
<action></action>
需要从xml文件中删除这些标记。
尝试:
cat file1.xml | sed 's/\<action\>\<\/action\>//g'
任何帮助都会得到满足。
答案 0 :(得分:1)
执行:
sed -E 's#<([^>]+)></\1>##g'
#
是s
(替换)分隔符,因为输入包含/
<([^>]+)>
匹配<
,然后匹配下一个>
的子字符串,并将其放入捕获的组1,>
匹配文字>
</\1>
匹配<
,然后是/
,后跟捕获的组1,然后是>
整个匹配由全字符串(g
)替换为空字符串,即行中的所有实例
示例:强>
% sed -E 's#<([^>]+)></\1>##g' <<<'<action></action><action>ok</action>'
<action>ok</action>
修改强>
如果您只想删除action
代码:
sed -E 's#<(action)></\1>##g'