如何使用 shell 脚本更改 xml 中的标签
How to change tag in xml with shell script
<?xml version="1.0" encoding="utf-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="in.rakshanshetty.ionic" version="bar">
<name>ionic test</name>
<description>An awesome my app</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
</widget>
如何使用 xmlstarlet 更改作者电子邮件、href 和其中的内容
使用 xmlstarlet:
xmlstarlet edit -N x='http://www.w3.org/ns/widgets' \
--update "//x:widget/x:author/@email" --value "foo@example.com" \
--update "//x:widget/x:author/@href" --value "http://www.example.com" \
--update "//x:widget/x:author" --value "foo" file.xml
输出:
<?xml version="1.0" encoding="utf-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="in.rakshanshetty.ionic" version="bar">
<name>ionic test</name>
<description>An awesome my app</description>
<author email="foo@example.com" href="http://www.example.com">foo</author>
</widget>
如果要就地编辑文件,请添加选项 -L。
<?xml version="1.0" encoding="utf-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="in.rakshanshetty.ionic" version="bar">
<name>ionic test</name>
<description>An awesome my app</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
</widget>
如何使用 xmlstarlet 更改作者电子邮件、href 和其中的内容
使用 xmlstarlet:
xmlstarlet edit -N x='http://www.w3.org/ns/widgets' \
--update "//x:widget/x:author/@email" --value "foo@example.com" \
--update "//x:widget/x:author/@href" --value "http://www.example.com" \
--update "//x:widget/x:author" --value "foo" file.xml
输出:
<?xml version="1.0" encoding="utf-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="in.rakshanshetty.ionic" version="bar">
<name>ionic test</name>
<description>An awesome my app</description>
<author email="foo@example.com" href="http://www.example.com">foo</author>
</widget>
如果要就地编辑文件,请添加选项 -L。