我正在使用 wget 使用 -r 和 -np 选项从文件夹中下载所有文件。但是,这也会下载我不想要的上述文件夹。
例如:
wget -r -np ftp://user:pass@352.525.255.54/articles/artist/images/
Run Code Online (Sandbox Code Playgroud)
这会从“图像”中下载所有文件(这很好),但也会下载文件夹文章、艺术家和图像(这很糟糕)。什么选项可以解决这个问题?
Rob*_*sey 12
我认为您正在寻找的是--cut-dirs选项。与-nH(无主机名)选项结合使用,您可以准确指定要出现在本地输出中的目录级别。例如,我有一个 .pkg 下载文件,我想将其写入本地目录,但我不希望包含所有父树,只包含子目录。在这种情况下,我将 .pkg 名称作为父目录的起点向下 5 个级别:
wget -np -nH --cut-dirs 5 -r http://www.myhost.org/pub/downloads/My_Drivers/OS_10_5_x/Letter_Format/driver_C123_105.pkg
Run Code Online (Sandbox Code Playgroud)
然后,您将在当前目录中看到名称 driver_C123_105.pkg。
% ls -lt | head
drwxr-xr-x 12 rob rob 408 Feb 22 12:54 driver_C123_105.pkg
-rw-------@ 1 rob rob 0 Feb 16 15:59 1kPSXcUj.pdf.part
-rw-------@ 1 rob rob 842 Feb 3 14:47 WcUuL69s.jnlp.part
Run Code Online (Sandbox Code Playgroud)
[...等等...]
% find driver_C123_105.pkg
driver_C123_105.pkg
driver_C123_105.pkg/Contents
driver_C123_105.pkg/Contents/Archive.bom
driver_C123_105.pkg/Contents/Archive.pax.gz
driver_C123_105.pkg/Contents/index.html
driver_C123_105.pkg/Contents/index.html?C=D;O=A
driver_C123_105.pkg/Contents/index.html?C=D;O=D
driver_C123_105.pkg/Contents/index.html?C=M;O=A
driver_C123_105.pkg/Contents/index.html?C=M;O=D
driver_C123_105.pkg/Contents/index.html?C=N;O=A
driver_C123_105.pkg/Contents/index.html?C=N;O=D
driver_C123_105.pkg/Contents/index.html?C=S;O=A
driver_C123_105.pkg/Contents/index.html?C=S;O=D
driver_C123_105.pkg/Contents/Info.plist
driver_C123_105.pkg/Contents/PkgInfo
driver_C123_105.pkg/Contents/Resources
driver_C123_105.pkg/Contents/Resources/background.jpg
Run Code Online (Sandbox Code Playgroud)
[.....等等....]
您可以使用该-P选项将此输出定向到其他地方。
小智 8
该--no-parent-Option是你在找什么。
从man wget:
-np
--no-parent
Do not ever ascend to the parent directory when retrieving
recursively. This is a useful option, since it guarantees that
only the files below a certain hierarchy will be downloaded.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34096 次 |
| 最近记录: |