ダウンロードしたい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-directories:
[...]
ディレクトリが作成されていない場合でも、ディレクトリの階層を作成します。例えば。 wget -x http://fly.srk.fer.hr/robots.txt は、ダウンロードしたファイルをfly.srk.fer.hr/robots.txtに保存します。
あなたが求めている構造を取得するには、-xと同様に-nHを使用することをお勧めします。
これにより、ホスト名が削除され、予想されるディレクトリ構造が作成されます。
例えば.
wget -x -nH http://xyz.abc.com/Dir1/Dir3/sds.exe
- 'Dir1/Dir3/sds.exe' saved [1234]
Manページから:
-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...