Я хотел бы, чтобы извлечь APP_NAME значение, содержащееся в string.xml, но я не знаю, как это сделать:Android получить имя проекта Баш
Вот что у меня есть
appName=`awk -F'"' '/android:label/{print $(NF-1); exit}' AndroidManifest.xml`
echo "App name is "$appName
это печатает @ строка/app_name
но то, что я хотел бы это фактическая строка, содержащаяся там, как я мог бы сделать это в Баш скрипт, пожалуйста: что-то вроде
#totally wrong
appName2=`awk -F'"' '$appName{print $(NF-1); exit}' res/values/strings.xml`
echo "App name is "$appName2 #this prints "utf-8"
также, если кто-нибудь знает о простых и быстрых учебники для AWK Я был бы благодарен
благодаря
EDIT: 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>
Thks всем, что ответили вот окончательная версия:
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
Используйте xpath для извлечения значения. вы можете показать входные данные xmls? – hek2mgl
Не могли бы вы объяснить, пожалуйста, какой пример? также hav отредактировал мой вопрос и добавил xml-файл – vallllll
да, приведу пример – hek2mgl