XML
以下のファイルがあります。シェルスクリプトを使用して各パラメータ名のis-required
場所と値を変更したいと思います。default-value
- そして
argument name=protocol
、is-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>