wget
を使用してURLからすべての画像をダウンロードし、URLに基づいて出力ファイルの名前を設定します。
たとえば、この写真をダウンロードした場合:
wget https://www.electrictoolbox.com/images/icons/linux-bsd.gif
ファイル名はlinux-bsd.gif
になりますが、images_icons_linux-bsd.gif
にしたいです
自動化してほしい。
どうすればこれを達成できますか?
ここで説明 のように、次のようにできます:
# get all pages
curl 'http://domain.com/id/[1-151468]' -o '#1.html'
# get all images
grep -oh 'http://pics.domain.com/pics/original/.*jpg' *.html >urls.txt
# download all images
sort -u urls.txt | wget -i-
#!/bin/bash
name=`echo $1 | sed 's/\//_/g' | sed 's/https:__[a-z\.]\+_//g'`
wget -O $name $1
ご存じのとおり、一部のURLでは機能しない場合があります。
どうですか:
wget --output-document=images_icons_linux-bsd.gif https://www.electrictoolbox.com/images/icons/linux-bsd.gif
...すべて1行で。