使用WGET从网站/目录下载所有.tar.gz文件

时间:2013-01-23 21:39:12

标签: linux bash download wget

所以我试图创建一个别名/脚本,使用wget从网站/目录下载所有特定的扩展名,但我觉得必须有一种比我想象的更简单的方法。

现在,通过搜索Google和手册页得出的代码是:

wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories http://download.openvz.org/template/precreated/

所以在上面的例子中,我试图从OpenVZ precreated templates目录下载所有.tar.gz文件。

上面的代码工作正常,但我必须手动指定--cut-dirs = 2,它会删除通常会创建的/ template / precreated /目录结构,并且还会下载robots.txt文件。

现在这不一定是个问题而且删除robots.txt文件很容易,但我希望我只是错过了手册中的某些内容,这些内容可以让我做同样的事情,而无需指定剪切的目录结构出...

感谢您提前获得任何帮助,非常感谢!

2 个答案:

答案 0 :(得分:7)

使用-R选项

-R robots.txt,unwanted-file.txt

作为您不想要的文件的拒绝列表(以逗号分隔)。

至于编写脚本:

URL=http://download.openvz.org/template/precreated/
CUTS=`echo ${URL#http://} | awk -F '/' '{print NF -2}'`
wget -r -l1 -nH --cut-dirs=${CUTS} --no-parent -A.tar.gz --no-directories -R robots.txt ${URL}

这应该基于您网址中的子目录。

答案 1 :(得分:2)

我建议,如果这真的很烦人,而且你需要做很多事情,只需编写一个非常简短的两行脚本来为你删除它:

wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories http://download.openvz.org/template/precreated/
rm robots.txt