wget - 下载所有文件但不下载前面的文件夹

19 download wget

我正在使用 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选项将此输出定向到其他地方。

  • -nH 指“--no-host-directories” (2认同)

小智 8

--no-parent-Option是你在找什么。

  • 提问者已经知道“--no-parent”——他在示例命令中使用了简短版本“-np”。他更有可能在寻找 `--cut-dirs` 选项,如 [Robert Casey 的回答](https://superuser.com/a/392942/112593)。 (4认同)

Bru*_*uno 0

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)