Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用xmlstarlet或其他东西在XML标记中注入大值_Xml_Shell - Fatal编程技术网

用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