加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用wget从ftp服务器下载选择目录

发布时间:2020-12-13 23:09:48 所属栏目:Linux 来源:网络整理
导读:我试图了解如何使用wget从一堆不同的ftp站点下载来自美国政府的经济数据的特定目录. 举个简单的例子,我知道我可以使用如下命令下载整个目录: wget --timestamping --recursive --no-parent ftp://ftp.bls.gov/pub/special.requests/cew/2013/county/ 但我设
我试图了解如何使用wget从一堆不同的ftp站点下载来自美国政府的经济数据的特定目录.

举个简单的例子,我知道我可以使用如下命令下载整个目录:

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/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读