プロパティファイルからxmlにコピーする方法

プロパティファイルからxmlにコピーする方法

path複数の場所にいくつかのコンテンツを含むXMLファイルがあります。

.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エントリがない場合、または誤った形式の場合は、いくつかのエラー処理をお勧めします。

おすすめ記事