替换特定标记的XML文件中的值

时间:2015-05-03 08:12:34

标签: xml linux sed

我的Linux机器上有一个XML文件MyFile.xml。

<?xml version="1.0" encoding="UTF-8"?>
  <project>
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
          <modelVersion>4.0.0</modelVersion>
          <groupId>com.mycompany</groupId>
              <env name="envvar" value="/opt/environment/environment.properties" />
              <env name="JDBC_Driver"  value="/opt/JDBC/ojdb6.jar" />
              <env name="agent/enable" value="true" />
</project>

每当我得到一个要求时,我需要将值更改为"false"(当它为真时)和"true"(当它为假时)为XML文件中的env name="agent/enable"标记

我只是想为此使用一些shell脚本。我知道这可以在Linux中使用Sed命令完成,但我不擅长正则表达式。因此,每当我需要更改时,我都可以运行脚本。

注意:脚本应该更改XML文件,并且应该保存在具有相同名称的文件系统上。

1 个答案:

答案 0 :(得分:1)

你在这里:

sed -i '/<env\s\+name="agent\/enable"/s/value="true"/value="false"/' f.xml