使用wget下载具有不同本地名称的文件

时间:2012-07-01 10:01:45

标签: shell sed awk wget

您好我有一个文本文件,其中给出了下载链接,如 -

http://www.example.com/10.10.11/abc.jpg
http://www.example.com/10.10.12/abc.jpg
http://www.example.com/10.10.13/abc.jpg

这里10.10。*是图像的日期。

我需要使用wget下载所有图像,其中图像名称将是相应的日期(例如10.10.111.jpg)。

PS。我尝试使用:

wget -i download.txt

那么,任何解决方案?

提前致谢

5 个答案:

答案 0 :(得分:1)

您可以根据网址instruct Wget to create subdirectories,然后在下载完成后重命名。

答案 1 :(得分:1)

我建议使用-O选项逐个下载文件的批处理脚本,以及一些sed / awk魔法来使名称正确

但小心!根据{{​​1}}选项,您基于每个文件调用wget

答案 2 :(得分:1)

这应该可以解决问题。

#!/bin/sh
while read url; do
   urldir=${url%/*}
   dir=${urldir##*/}
   wget -O $dir.jpg $url
done < download.txt

答案 3 :(得分:0)

这可能对您有用:

sed '\|/\([^/]*\)/[^/]*\1[^/.]*.jpg|!d' download.txt | wget -i -

说明:

过滤download.txt文件,使其仅包含您需要的文件,然后将其传递给wget

答案 4 :(得分:0)

我开发了一个只执行此bulkGetter的脚本。超级易用,您只需要一个包含您要下载的所有链接的输入文件,并使用选项“-rb”(参见链接)。