我想提取 string.xml 中包含的值 app_name 但我不知道该怎么做:
这是我所拥有的
appName=`awk -F'"' '/android:label/{print $(NF-1); exit}' AndroidManifest.xml`
echo "App name is "$appName
这打印@string/app_name
但我想要的是其中包含的实际字符串,我怎么能在 bash 脚本中做到这一点:比如
#totally wrong
appName2=`awk -F'"' '$appName{print $(NF-1); exit}' res/values/strings.xml`
echo "App name is "$appName2 #this prints "utf-8"
另外,如果有人知道 awk 的简单快速教程,我将不胜感激
谢谢
编辑:xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="other">Other</string>
<string name="app_name">App Name</string>
<string name="other2">Other</string>
</resources>
感谢所有在这里回答的人是最终版本:
appName=`awk -F'["/]' '/android:label/{print $(NF-1); exit}' AndroidManifest.xml`
echo "App name is "$appName
appName2=`xpath -q -e "//*[@name='$appName']/text()" res/values/strings.xml`
echo $appName2