シェルで画像を一括ダウンロードする
最近はWindowsでもWSL2でLinuxのシェルを使えるから便利。 何に使うというわけじゃないけど、規則的な名前で存在する画像(jpg or png)をローカルに落とすシェルをかいた。
#!/bin/bash page= # ページ数を入れる baseUrl='' # URLをいれる for i in `seq 1 $page` do ext='jpg' n=`printf %03d $i` url=$baseUrl$i fileName=$n.$ext if [ -e $fileName ]; then continue fi echo $url.$ext wget $url.$ext if [ $? != 0 ]; then ext='png' wget $url.$ext fi file=$i.$ext no=`echo $file | sed -e 's/\(.*\)\.\(.*\)/\1/g'` ext=`echo $file | sed -e 's/\(.*\)\.\(.*\)/\2/g'` newNo=`printf %03d $no` newFile=$newNo.$ext if [ $file != $newFile ]; then mv $file $newFile fi echo $i/$page done
ローカルに落とすときに、3桁の0埋めしている。 Windows環境ではソートするときに、文字列としてソートするので。