用xmlstarlet或其他东西在XML标记中注入大值
我正在尝试使用用xmlstarlet或其他东西在XML标记中注入大值,xml,shell,Xml,Shell,我正在尝试使用xmlstarlet ed修改xml中的标记值,但我不知道如何使其与大值一起工作 我正试图用curl 这里是包含URL的my_xml的摘录(用于测试的linuxgizmos.com) 第二个命令行出现错误: /usr/bin/xmlstarlet:Liste d'arguments trop longue 我花了一天的时间和那个****,我真的很感激一些帮助:)首先,为什么有人否决这个问题 现在,我发现一个“解决方案”不是很性感,但它确实起了作用 if [ -f "$xml.ins
xmlstarlet ed
修改xml中的标记值,但我不知道如何使其与大值一起工作
我正试图用curl
这里是包含URL的my_xml的摘录(用于测试的linuxgizmos.com)
第二个命令行出现错误:
/usr/bin/xmlstarlet:Liste d'arguments trop longue
我花了一天的时间和那个****,我真的很感激一些帮助:)首先,为什么有人否决这个问题 现在,我发现一个“解决方案”不是很性感,但它确实起了作用
if [ -f "$xml.insert" -a -s "$xml.insert" ]; then
echo "merging ..."
# the tag <Article_texte/> should be on the form :
# <Article_texte>
# </Article_texte>
sed -i -e "s#<Article_texte\s*\(/>\|></Article_texte>\)#\n<Article_texte>\n</Article_texte>\n#" $xml
# we load the content of `$xml.insert` file after the opening tag
sed -i -e "/<Article_texte>/ r $xml.insert" $xml
rm -f "$xml.insert"
fi
if[-f“$xml.insert”-a-s“$xml.insert”];然后
回声“合并…”
#标签应位于以下表格上:
#
#
sed-i-e“s#\\124;>\)\ n\n\n#“$xml
#我们在开始标记后加载“$xml.insert”文件的内容
sed-i-e“//r$xml。插入“$xml
rm-f“$xml.insert”
fi
# extract url from file
url_to_dl=$(xmlstarlet sel -t -v "/DOCUMENT/Article_url" my_xml.xml)
# download and update document
xmlstarlet ed -L -u "/DOCUMENT/Article_texte" -v "$(curl -Ls $url_to_dl 2>&1)" my_xml.xml
if [ -f "$xml.insert" -a -s "$xml.insert" ]; then
echo "merging ..."
# the tag <Article_texte/> should be on the form :
# <Article_texte>
# </Article_texte>
sed -i -e "s#<Article_texte\s*\(/>\|></Article_texte>\)#\n<Article_texte>\n</Article_texte>\n#" $xml
# we load the content of `$xml.insert` file after the opening tag
sed -i -e "/<Article_texte>/ r $xml.insert" $xml
rm -f "$xml.insert"
fi