Wget

wget 不排除嵌套目錄

  • November 7, 2018

我已經看到了,但它不起作用。遠端/ftp 目錄結構是這樣的:

domain.com/
 toplevel/
   foo1/
     ARCHIVE/
       README.stuff
       DATA/
         README.txt
         ...other nested folders
     wantedstuff.zip
     wantedstuff2/
       morewantedstuff.zip
       ...otherstuffwanted

我想要.NET中每個嵌套文件夾的文件夾/toplevel內的所有內容除外。/ARCHIVE``/toplevel/*

我試過這個:

wget --continue -r --exclude-directories=/ARCHIVE/ ftp://domain.com/toplevel/

還有這些:

wget --continue -r --exclude-directories=ARCHIVE ftp://domain.com/toplevel/
wget --continue -r --exclude-directories=ARCHIVE/ ftp://domain.com/toplevel/
wget --continue -r X /ARCHIVE/ ftp://domain.com/toplevel/
wget --continue -r -X '*/ARCHIVE/*' ftp://domain.com/toplevel/
wget --continue -r -X '*/ARCHIVE' ftp://domain.com/toplevel/
wget --continue -r --reject-regex '.*/ARCHIVE/.*' ftp://domain.com/toplevel/

但似乎沒有一個工作,它仍然下載那個 ARCHIVE 文件夾。想知道如何防止它下載。

您必須包括頂層/foo。請參閱前面的範例解決方案應該是:

wget --continue -r --exclude-directories=/toplevel/foo/ARCHIVE/ ftp://domain.com/toplevel/

出於某種原因,我更喜歡:

wget --continue  -X /toplevel/foo/ARCHIVE/ -r ftp://domain.com/toplevel/

要排除前兩個頂層中的所有 ARCHIVE 目錄,請執行以下操作:

wget --continue  -X */*/ARCHIVE/ -r ftp://domain.com/toplevel/

但這是個人喜好。

引用自:https://unix.stackexchange.com/questions/480245