<root>
<tag>1</tag>
<tag1>2</tag1>
</root>
Need to change values 1 and 2 from bash
See Question&Answers more detail:os<root>
<tag>1</tag>
<tag1>2</tag1>
</root>
Need to change values 1 and 2 from bash
See Question&Answers more detail:osTo change tag
's value to 2
and tag1
's value to 3
, using XMLStarlet:
xmlstarlet ed
-u '/root/tag' -v 2
-u '/root/tag1' -v 3
<old.xml >new.xml
Using your sample input:
xmlstarlet ed
-u '/root/tag' -v 2
-u '/root/tag1' -v 3
<<<'<root><tag>1</tag><tag1>2</tag1></root>'
...emits as output:
<?xml version="1.0"?>
<root>
<tag>2</tag>
<tag1>3</tag1>
</root>