Noe*_*uli 5 scripting xml curl xmllint variable
我正在尝试从服务下载一些文件。这些文件位于 XML 文件中。XML 文件可以有一个文件或多个文件可供下载。但是,现在我的脚本有问题。我不知道如何将 XMLLINT 中的字符串拆分为数组,以便我可以单独下载每个文件。
我需要将字符串拆分为几个变量,然后下载 URL 字符串的每个文件。
但是文件 201701_1 不会重复,因此,我使用 curl 下载它们没有任何问题。但是文件coverage.zip 重复并且它们被curl 覆盖。我这样做:然后我做 curl 来下载单个文件。
curl -O -b cookie $URL
Run Code Online (Sandbox Code Playgroud)
目前,我的脚本如下:
while read edition; do XML="<?xml version=\"1.0\"
encoding=\"UTF-8\"?> <download-area> <files>
<file>
<url>https://google.com/411/201701_01_01.zip</url>
</file>
<file>
<url>https://google.com/411/201701_01_02.zip</url>
</file> </files> </download-area>
"
URL=$(echo $XML | xmllint --xpath \
"/*[name()='download-area']/*[name()='files']/*[name()='file']/*[name()='url']/text()" -)
echo "URL:: " $URL
done < $LATEST_EDITION
Run Code Online (Sandbox Code Playgroud)
LATEST_EDITION 只是一个带有行的文件。
我的问题是:如何将 VAR_1 和 VAR_2 拆分为多个 URL,以便我可以单独下载它们?如何防止coverage.zip 被覆盖?
小智 1
尝试类似的方法:
declate -a url_array
url_array=(`echo $XML | grep -o "http.*zip" | tr '\n' ' '`)
Run Code Online (Sandbox Code Playgroud)