如何使用shell scripting sed命令替换文件中xml标记之间的值?

时间:2017-02-17 10:54:00

标签: xml sed

我有一个配置文件。例如:config.xml它具有以下配置。

    <!-- Admin username for the Authentication manager. -->
    <Username>adminusername</Username>
    <!-- Admin password for the Authentication manager. -->
    <Password>adminpassword}</Password>

我需要通过运行shell脚本来更改值“adminusername”和“adminpassword”。我如何使用sed实现这一目标?

1 个答案:

答案 0 :(得分:0)

Sed不适合这项工作。使用可以真正解析XML的XML感知工具。

例如,在xsh我碰巧维护,你可以写

open config.xml ;
set /Root/Username "newname" ;
set /Root/Password "newpassword" ;
save :b ;

(如果XML的根元素称为Root,则提到的元素是它的子元素,并且它们不会被重复。)