XMLファイルのバージョン番号を97から98に変更[閉じる]

XMLファイルのバージョン番号を97から98に変更[閉じる]

IP関連のバージョン番号を変更したいです。たとえば、このIPの場合は、10.228.134.226バージョン番号を97次から変更する必要があります。98

<qa:browsers> 
    <browser name="firefox" defaultVersion="96" defaultPlatform="Windows 10">
        <version number="97" platform="Windows 10">
            <region name="EU_CENTRAL">
                <host name="10.228.134.226" port="4444" count="1"/>
            </region>
        </version>
        <version number="97" platform="Windows 8">
            <region name="EU_CENTRAL">
                <host name="10.228.134.229" port="4444" count="1"/>
            </region>
        </version>
        <version number="97" platform="Windows 7">
            <region name="EU_CENTRAL">
                <host name="10.228.134.238" port="4444" count="1"/>
            </region>
        </version>
    </browser>
</qa:browsers>

ここで値を変更したいのですが、defaultVersionどうすればよいですか?

答え1

xmlstarlet値が属性の子ノードを持つノードの属性を変更するために使用されますnumberversionregion/hostname10.228.134.226

xmlstarlet ed \
    -u '//version[region/host/@name = "10.228.134.226"]/@number' \
    -v 98 file >file.new

関連情報