如何从属性文件复制到 xml

如何从属性文件复制到 xml

我有一个 xml 文件,其中path在多个位置包含一些内容。

现在我想从.properties提到的文件中获取值并替换pathxml 中存在的部分内容。

假设我有一个如下所示的 xml 文件。

<?xml version="1.0" encoding="ISO-8859-1"?>
...
...
<classpath>

      <pathelement location="/profiles/sh/finalFolder/Apache/example.jar" />

</classpath>

<property name="executable" value="/profiles/sh/finalFolder/Apache/instjamr/install" />

<fileset dir="/profiles/sh/finalFolder/Apache/ant"/>

该 xml 文件/profiles/sh/finalFolder在许多地方包含带有某些后缀的路径。

现在,我有一个path.properties包含(键,值)对的文件,例如

FinalFolder=/new/final/exit(用户可以随时在属性文件中编辑值)

我想将 替换为文件中提到的密钥path.properties最终文件夹

我需要在.sh文件中编写代码来完成这项工作。

答案1

首先从文件中提取路径path.properties

newPath=`sed -n 's/FinalFolder=//p' path.properties`

然后用新路径替换旧路径(使用-作为分隔符而不是/使其更具可读性:

sed -i "s-/profiles/sh/finalFolder-$newPath-g" file.xml

在脚本中,我建议进行一些错误处理,以防文件中没有 FinalFolder 项目或其格式错误。

相关内容