XML 파일의 값을 변경하는 방법

XML 파일의 값을 변경하는 방법

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>

관련 정보