保存するパスがまだないのでwget
できません。つまり、wget
は、存在しない保存パスに対しては機能しません。例:
wget -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg
/path/to/image/
は以前は存在していませんでした。常に次を返します:
No such file or directory
パスを自動的に作成して保存するようにするにはどうすればよいですか?
curl
をお試しください
curl http://www.site.org/image.jpg --create-dirs -o /path/to/save/images.jpg
mkdir -p /path/i/want && wget -O /path/i/want/image.jpg http://www.com/image.jpg
wgetはファイルを取得するだけで、ディレクトリ構造を作成しません(mkdir -p/path/to/image /)。これは自分で行う必要があります。
mkdir -p /path/to/image/ && wget -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg
パラメータ--force-directories
を使用して、wgetにディレクトリを作成するように指示できます(そのため、mkdirを使用する必要はありません)。
一緒にこれは
wget --force-directories -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg
たくさん検索した後、私はようやくwget
を使用して、存在しないパスをダウンロードする方法を見つけました。
wget -q --show-progress -c -nc -r -nH -i "$1"
=====
Clarification
-q
--quiet --show-progress
Kill annoying output but keep the progress-bar
-c
--continue
Resume download if the connection lost
-nc
--no-clobber
Overwriting file if exists
-r
--recursive
Download in recursive mode (What topic creator asked for!)
-nH
--no-Host-directories
Tell wget do not use the domain as a directory (for e.g: https://example.com/what/you/need
- without this option, it will download to "example.com/what/you/need")
-i
--input-file
File with URLs need to be download (in case you want to download a lot of URLs,
otherwise just remove this option)
ハッピーwget-ing!