यह xml फ़ाइल की संरचना है:

  <test.file>
    <set name="parameter1" serializeAs="String">
      <value>True</value>
    </set>
    <set name="parameter2" serializeAs="String">
      <value>True</value>
    </set>
  </test.file>

जब मैं इस आदेश का उपयोग करता हूं, तो मैं पैरामीटर 2 के लिए सही से गलत में मान संपादित करना चाहता हूं: xmlstarlet ed -u //test.\file/set/value -v False filename यह दोनों मानों को सही से गलत में अपडेट कर रहा है। मैं केवल नाम = "पैरामीटर 2" के मान को संपादित करने के लिए कैसे नियंत्रित कर सकता हूं?

धन्यवाद!

1
שרה נסימי 30 मई 2018, 09:25

1 उत्तर

सबसे बढ़िया उत्तर

संपादित करें: चूंकि OP किसी विशिष्ट टैग के मान में परिवर्तन करने के लिए कह रहा है, इसलिए उसके अनुसार कोड बदल दिया गया है।

xmlstarlet ed -u "//test.file/set[@name='parameter2']/value" -v "false"  Input_file.xml

निम्नलिखित xmlstarlet कमांड यहां आपकी मदद कर सकता है।

xmlstarlet ed -u "/test.file/set/value" -v "false"  Input_file.xml

एक्सएमएल फाइल में इनप्लेस अपडेट करने के लिए निम्नलिखित का उपयोग करें।

xmlstarlet ed -L -u  "/test.file/set/value" -v "false"  Input_file.xml
0
RavinderSingh13 30 मई 2018, 12:00