次のように中括弧拡張を使用すると、順番に番号付けされたwget
画像を簡単に取得できます。
$ wget 'http://www.iqandreas.com/sample-images/100-100-color/'{90..110}'.jpg'
番号付きの最初の10個の90.jpg
ファイルをインポート99.jpg
し、100.jpg
404: ファイルが見つかりません{00..200}
エラー(私のサーバーには100個の画像しか保存されていません)。増やしてサーバーに多少の負担になることもあります。少なくとも問題があります)。
wget
最初の404エラーが発生した後に停止する方法はありますか? (または他の理由でファイルが範囲内で失われる場合は、連続して2つの方が良いです。)答えには、中括弧拡張を使用する必要はありません。
ベストアンサー1
ループに満足している場合:
for url in 'http://www.iqandreas.com/sample-images/100-100-color/'{90..110}'.jpg'
do
wget "$url" || break
done
wget
これは失敗するまで拡張のすべてのURLに対して実行され、break
ループを終了します。
連続して2回の失敗が予想されると、状況はより複雑になります。
for url in 'http://www.iqandreas.com/sample-images/100-100-color/'{90..110}'.jpg'
do
if wget "$url"
then
failed=
elif [ "$failed" ]
then
break
else
failed=yes
fi
done
&&
使用して||
少し縮小できますが、if
本当に見苦しくなります。
wget
私はこれを行うことが組み込まれていると信じていません。