我使用xmlstarlet進入shell腳本來解析xml文件untitled app.xml,只是爲了獲取其內容是一個字符串,並將其存儲在「my_var」中:通過shell腳本解析XML
my_var=`xmlstarlet sel -t -m "//root/services/service[position=$i]" -v description -n /home/wissem/Bureau/app.xml`
然後,試圖修改與最後一個命令的輸出的其他XML文件名字的strings.xml時,使用此命令行:
find /root/AndroidStudioProjects/FacebookMenu/app/src/main/res/values/strings.xml -type f -exec perl -pi -w -e 's/name=\"text_'$i'\".*\<\/string\>/name=\"text_'$i'\"\>'$my_var'\<\/string\>/g' {} \;
我得到以下錯誤:
Substitution replacement not terminated at -e line 1.
我試圖通過單獨更改我解析到我的變量的字符串來理解問題,我注意到問題出現時,我有一個「空間」的字符串!
解釋更多:爲this_is_my_string:它的工作原理
因爲這是我的字符串:我得到的錯誤。