下载名称中含有某些字符串的所有文件

下载名称中含有某些字符串的所有文件

http://www.inf.usi.ch/carzaniga/edu/algo08f/schedule.html,我想下载名称为 的所有 pdf 文件*-2up.pdf,例如, http://www.inf.usi.ch/carzaniga/edu/algo08f/intro-2up.pdf

可以使用 bash 中的 wget 来完成吗?

谢谢。

答案1

要递归检索文件但仅检索以 结尾的文件2up.pdf,请尝试:

wget -r -nd -A 2up.pdf 'http://www.inf.usi.ch/carzaniga/edu/algo08f/schedule.html'

解释:

  • -r告诉wget以递归方式获取文件

  • -nd指示wget将所有下载的文件保留在当前目录中。否则,它将尝试在 处重新创建目录结构www.inf.usi.ch

  • -A 2up.pdf限制下载以 结尾的文件名2up.pdf

细化

当被告知要进行递归时,wget将搜索所有 html 链接以查找可以接受的文件链接。如果我们知道我们想要的所有文件都直接链接到源 URL,那么我们不希望出现这种行为。要限制wget搜索的深度,请使用以下--level选项:

wget -r -nd -A th-2up.pdf -A schedule.html --level=1 'http://www.inf.usi.ch/carzaniga/edu/algo08f/schedule.html'

这也表明多个-A选项可以一起使用。

相关内容