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>