我的目标是更新多个 XML 文件中的版本号,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<Component xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>51.0</apiVersion>
enter code here
xml 文件中的版本可能不同,
<?xml version="1.0" encoding="UTF-8"?>
<Component xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>27.0</apiVersion>
enter code here
我尝试了几个这样的选项
find force-app -type f -name "*-meta.xml" -exec sed -i '' -e 's/\(<apiVersion>\)\([0-9]+\.0\)\(<\/apiVersion>\)/<apiVersion>52.0<\/apiVersion>/' {} \;
和这个
find force-app -type f -name "*-meta.xml" -exec sed -i '' -e '/<apiVersion>/s/\(\d\+\)/52.0/' {} \;
但他们没有工作
如果你的文件都像你展示的一样简单,你可以这样做:
find force-app -type f -name "*-meta.xml" \
-exec sed -i '' -e 's|<apiVersion>[0-9]*[0-9.]*[0-9]*</apiVersion>|<apiVersion>52.0</apiVersion>|' {} \;
请注意,在 Linux 上,这会产生错误,您可以改用它:
find force-app -type f -name "*-meta.xml" \
-exec sed -i 's|<apiVersion>[0-9]*[0-9.]*[0-9]*</apiVersion>|<apiVersion>52.0</apiVersion>|' {} \;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句