使用wget时如何排除某些目录?


12

我想从FTP下载目录,其中包含一些源代码。最初,我是这样做的:

wget -r ftp://path/to/src

不幸的是,目录本身是SVN检出的结果,因此存在许多.svn目录,并且对其进行爬网将花费更长的时间。是否可以排除那些.svn目录?

Answers:


18
wget -X directory_to_exclude[,other_directory_to_exclude] -r ftp://URL_ftp_server

SERVER
    |-logs
    |-etc
    |-cache
    |-public_html
      |-images
      |-videos ( want to exclude )
      |-files
      |-audio  (want to exclude)

wget -X /public_html/videos,/public_html/audio ftp:SERVER/public_html/*

1
这实际上似乎是正确的评论。exclude-directories开关不执行模式/正则表达式,因此您必须包括整个路径(从根目录开始)。除琐碎的情况外,投票率较高的答案似乎是不正确的。
John O

1
我同意。尽管文档指出可以使用通配符,但我无法使它们起作用。
Diomidis Spinellis

2
通配符可以使用,但是首先要在shell级别上进行解释,因此您必须对其进行转义。
乔普·基夫

5
wget --exclude-directories=.svn -r ftp://path/to/src
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.