在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
选项可以一起使用。