XMLファイルの値を変更する方法

XMLファイルの値を変更する方法

XML以下のファイルがあります。シェルスクリプトを使用して各パラメータ名のis-required場所と値を変更したいと思います。default-value

  • そしてargument name=protocolis-required = "true"default-value=tcp
  • argument name =portだからどこis-required = "true" default-value= 7223
  • だからargument name =そしてis-required = "true" default-value=test

例:

<task-arguments>
    <argument name="protocol" is-required="false" default-value="ssl"/>
    <argument name="port" is-required="true" default-value="7222"/>
    <argument name="username" is-required="true" default-value="admin"/>
</task-arguments>

答え1

使用XMLスター:

xml ed -P \
    -u '//argument[@name="protocol"]/@is-required' -v true \
    -u '//argument[@name="protocol"]/@default-value' -v tcp \
    -u '//argument[@name="port"]/@is-required' -v true \
    -u '//argument[@name="port"]/@default-value' -v 7223 \
    -u '//argument[@name="username"]/@is-required' -v true \
    -u '//argument[@name="username"]/@default-value' -v admin \
        file.xml

サンプル結果:

<task-arguments>
    <argument name="protocol" is-required="true" default-value="tcp"/>
    <argument name="port" is-required="true" default-value="7223"/>
    <argument name="username" is-required="true" default-value="admin"/>
</task-arguments>

関連情報