Shell脚本使用curl + cookie批量下载文件并合并这些文件

时间:2014-03-13 09:55:20

标签: shell curl

我有一个我要下载和加入的文件的网址列表。这些只能在经过身份验证时访问。 所以首先我打电话给:

curl -c cookie.txt http://url.to.authenticate

然后我可以使用cookie下载文件file1

curl -b cookie.txt -O http://url.to.file1

最后我会使用cat

cat file1 file2 file3 ... > file_merged

我有320个这样的url存储在一个文本文件中,并且想要创建一个包含在脚本中的这些url的脚本,所以我需要的是将脚本复制到远程计算机并执行它。 我不擅长shell脚本,如果有人可以帮助我,我会喜欢它。 也许比

更能防止失败的事情
#!/bin/sh
curl -c cookie.txt http://url.to.authenticate
curl -b cookie.txt -O http://url.to.file1
curl -b cookie.txt -O http://url.to.file2
curl -b cookie.txt -O http://url.to.file3
...
cat file1 file2 file3 ... file320 > file_merged

1 个答案:

答案 0 :(得分:2)

所以,像(如果您的文件列表存储在files.txt中):

#!/bin/sh
curl -c cookie.txt http://url.to.authenticate
while read f; do
    curl -b cookie.txt -O http://url.to."$f"
    cat "$f" >> file_merged
    rm -f "$f"
done < files.txt