有没有办法在通配符上使用wget?

时间:2013-10-22 20:41:40

标签: linux shell wget

是否可以对linux使用wget命令以获取网站目录树中的所有文件?

我可以递归地获取所有带镜像的网站,但我想将所有文件放在一个目录中。在我看来,它看起来像:

    wget http://www.somesite.com/here/is/some/folders/*

这将在/ folders /目录中下载所有文件(不必递归查看子目录)。但是通配符似乎与wget无关,所以我正在寻找正确的方法。

1 个答案:

答案 0 :(得分:4)

当然,有wget -r,它将递归folders/下的所有内容,只要有一个索引可以递归。

你能做的另一件事是,如果index.htm目录中有folders或其他任何内容,你可以通过将wget链接到wget来进行grep,sed和切割,如下所示:

wget -qO - http://foo/folder/index.htm | sed 's/href=/#/' | cut -d\# -f2 | \
  while read url; do wget $url; done

这通常是我在需要刮擦时所做的事情,无论出于何种原因我都无法解决。

编辑:

可能想要添加--no-parent并正确设置--domainwget manpage实际上相当不错,涵盖了这些内容。