5

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

现在我从搜索谷歌和手册页中得到的代码是:

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

因此,在上面的示例中,我尝试从 OpenVZ 预创建的模板目录下载所有 .tar.gz 文件。

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

现在这不一定是问题,只需删除 robots.txt 文件很容易,但我希望我只是错过了手册页中的一些内容,这些内容允许我在不指定要删除的目录结构的情况下执行相同的操作.. .

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

4

2 回答 2

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}

这应该根据您的 URL 中的子目录起作用。

于 2013-01-23T22:00:44.903 回答
2

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

wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories http://download.openvz.org/template/precreated/
rm robots.txt
于 2013-01-23T21:47:31.367 回答