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

Kar*_*kar 11 shell wget root

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

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd' ftp://ftp.xyz.com/Suppliers/my/ORD20130908
Run Code Online (Sandbox Code Playgroud)

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

Syn*_*ech 23

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

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd' ftp://ftp.xyz.com/Suppliers/my/ORD20130908
Run Code Online (Sandbox Code Playgroud)

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd' ftp://ftp.xyz.com/Suppliers/my/ORD20130908/
Run Code Online (Sandbox Code Playgroud)

文档:

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


Enc*_*omX 4

wget -r -N --no-parent -nH -P /media/karunakar --ftp-user=jsjd --ftp-password='hdshd'  -I/ORD20130908 ftp://ftp.xyz.com/Suppliers/my
Run Code Online (Sandbox Code Playgroud)

-Iflag的使用参见wget文档