Files

下載文件並創建與源相同的文件結構

  • June 10, 2016

我有一個配置文件,其中包含我要下載的 URI 列表。例如,

 http://xyz.abc.com/Dir1/Dir3/sds.exe
 http://xyz.abc.com/Dir2/Dir4/jhjs.exe
 http://xyz.abc.com/Dir1/itr.exe

我想讀取配置文件並複制每個 URL,但同時創建與主機上相同的目錄結構。例如,對於配置文件中的第一行,我想在我的本地機器上創建目錄結構 Dir1/Dir3(如果它不存在),然後將 sds.exe 複製到 …/Dir1/Dir3/

我發現我可以使用“wget -i”下載文件中的所有 URL,但是如何使用它創建相應的目錄結構

來自man wget

-x,–force-目錄:

$$ … $$ 創建目錄層次結構,即使否則不會創建目錄。例如 wget -x http://fly.srk.fer.hr/robots.txt會將下載的文件保存到 fly.srk.fer.hr/robots.txt。

要獲得您要求的結構,我建議使用 -nH 和 -x。

這將刪除主機名並創建預期的目錄結構。

例如

wget -x -nH http://xyz.abc.com/Dir1/Dir3/sds.exe

- 'Dir1/Dir3/sds.exe' saved [1234]

從手冊頁:

-nH
--no-host-directories
  Disable generation of host-prefixed directories.  By default, invoking Wget with -r http://fly.srk.fer.hr/ will create a structure of directories beginning with fly.srk.fer.hr/.  This option disables such behavior.

-x
--force-directories
  ...create a hierarchy of directories, even if one would not have been created otherwise...

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