我有 config.xml,里面有以下行。
<widget id="dev.apk" version="2.5-dev" android-versionCode="20500-dev">
我想更改 Bash 脚本中属性“version”、“id”和“android-versionCode”的值。
在脚本中,我可以访问 ID、VERSION 和 VERSION_CODE 变量,如下所示:
ID ="release.apk"
VERSION="2.5"
VERSION_CODE="20500"
我想使用 xmlstarlet 或 sed。 最好的方法是什么?
更新
我的 .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="app" version="2.5" android-versionCode="20500">
<name>App title</name>
<description>Dummy dummy text.</description>
</widget>
最佳答案
您可以执行此操作来就地编辑 xml 文件:
id
属性示例:
xmlstarlet edit -L -u "/_:widget/@id" -v "$ID" file.xml
您现在只需将此代码段改编为其他代码段即可。
注意
- Xpath 表达式中的 _: 用于处理 XML namespace
关于xml - 使用 Shell 更新 XML 属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762010/