举个简单的例子,我知道我可以使用如下命令下载整个目录:
wget --timestamPing --recursive --no-parent ftp://ftp.bls.gov/pub/special.requests/cew/2013/county/
但我设想运行更复杂的下载,我可能希望限制下载到少数目录.所以我一直在寻找–include选项.但我真的不明白它是如何运作的.具体来说,为什么这不起作用:
wget --timestamPing --recursive -I /pub/special.requests/cew/2013/county/ ftp://ftp.bls.gov/pub/special.requests/cew/
以下工作,从它下载文件的意义上说,但它下载的方式超出了我的需要(2013目录中的所有内容,而不仅仅是县子目录):
wget --timestamPing --recursive -I /pub/special.requests/cew/2013/ ftp://ftp.bls.gov/pub/special.requests/cew/
我不知道我是不是对wget有所了解,或者我的问题是否与ftp服务器结构更为重要.
谢谢您的帮助!
解决方法 基于 this doc,似乎wget的过滤功能非常有限.使用–recursive选项时,wget将在应用各种过滤器后下载所有链接的文档,例如–no-parent和-I,-X,-A,-R选项.
在你的例子中:
wget -r -I /pub/special.requests/cew/2013/county/ ftp://ftp.bls.gov/pub/special.requests/cew/
这不会下载任何内容,因为-I选项指定只包含与/pub/special.requests/cew/2013/county/匹配的链接,但是在/pub/special.requests/cew/页面上没有这样的链接,所以下载停在那里.这将工作:
wget -r -I /pub/special.requests/cew/2013/county/ ftp://ftp.bls.gov/pub/special.requests/cew/2013/
…因为在这种情况下/pub/special.requests/cew/2013/页面确实有一个指向县/的链接
顺便说一下,你可以在这个文档中找到比手册页更多的细节:
http://www.gnu.org/software/wget/manual/html_node/
总结以上是内存溢出为你收集整理的linux – 使用wget从ftp服务器下载选择目录全部内容,希望文章能够帮你解决linux – 使用wget从ftp服务器下载选择目录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)