使用wget以--no-parent递归获取目录

时间:2013-09-25 12:23:13

标签: shell root wget

我正在尝试使用以下命令下载目录中的所有文件:

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd' ftp://ftp.xyz.com/Suppliers/my/ORD20130908

但是wget正在从父目录中获取文件,即使我指定了--no-parent。我只想要ORD20130908中的文件。

2 个答案:

答案 0 :(得分:21)

您需要添加一个尾部斜杠,以指示URL中的最后一项是目录而不是文件:

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd' ftp://ftp.xyz.com/Suppliers/my/ORD20130908

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd' ftp://ftp.xyz.com/Suppliers/my/ORD20130908/

来自documentation

  

注意,对于HTTP(和HTTPS),尾部斜杠对'--no-parent'非常重要。 HTTP没有“目录”的概念--Wget依赖于你来指示什么是目录而什么不是。在'http://foo/bar/'中,Wget会将'bar'视为目录,而在'http://foo/bar'(没有尾随斜杠)中,'bar'将被视为文件名(因此' - ' - 父母'将毫无意义,因为其父母是'/')。

答案 1 :(得分:4)

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd'  -I/ORD20130908 ftp://ftp.xyz.com/Suppliers/my

See wget document for the use of -I flag