需要使用shell脚本替换xml属性值

ram*_*ams -1 xml sed shell-script

示例input.xml文件

<user dn="CN=company,DN=Department">
<role name="ROLE_ADMIN"/>
</user>
Run Code Online (Sandbox Code Playgroud)

输出应该是

<user dn="String_1,String_2">
<role name="ROLE_ADMIN"/>
</user>
Run Code Online (Sandbox Code Playgroud)

请就上述问题陈述给我建议。注意:dn 不应硬编码,因为该值也可能为空。例如 dn=""

Mic*_*hrs 5

不要sed用来操作 XML,xmlstarlet而是使用 XML-aware 工具,例如:

xmlstarlet ed -u '/user/@dn' -v 'String1, String2' input.xml
Run Code Online (Sandbox Code Playgroud)