【发布时间】:2021-10-07 16:04:50
【问题描述】:
我的 XML 代码如下
<root>
<list>
<pair name="id" Value="randomvalue" />
</list>
<list>
<pair name="place" Value="US" />
</list>
</root>
我需要将pair标签(其名称属性为“id”)的值(可以是我们不知道的任何值)更改为“其他值”。
我尝试过使用:
sed -i 's|<pair name="id" Value="[a-zA-Z0-9_]+" />$|<pair name="id" Value="othervalue" />|g' file.xml
但它不起作用
【问题讨论】:
-
顺便说一句,您遇到的一个问题是,在
sed默认使用的POSIX 基本正则表达式语法中,+不是特殊标记。 -
“我如何使用 sed 编辑 [...] XML?” 你不会!您应该使用 XML 解析器。