最後に確認したファイルが存在しない場合は、bashスクリプトでフォルダをスキップするためにwgetを使用してファイルを一括ダウンロードする方法は?
サンプルコードは次のとおりです。
#!/bin/bash
# Script to download Reports @ brazil.crl.edu/bsd/bsd
# Url : start @ http://brazil.crl.edu/bsd/bsd/u2038/ ends: /u2176
# There are less than 1000 files per address.
base1='http://brazil.crl.edu/bsd/bsd/u'
for i in {2038..2176};do
for s in {000001..001000}; do
wget -r $base1$i'/'$s'.tiff'
if [ $? -eq 0 ]; then
break
fi
done
done
最初のファイルのみをダウンロードします。誰でも助けることができますか?
答え1
この質問を「解決済み」とマークできるように、私の意見に対する答えは次のとおりです。
あなたのクエリ
if [ $? -eq 0 ]
確認中の終了状態。これは「問題が発生しない」を意味します(終了ステータスセクション0
に従って)。man wget
したがって、ifクエリを次に反転します。
if [ $? -ne 0 ]
つまり、「何か問題が発生した場合」問題は解決されます。
終了ステータスは、0
成功したコマンドを実行するための基準です。
bash
||
ifクエリは、コマンドの終了が成功したことを確認する演算子を使用して減らすことができます。
wget -r $base1$i'/'$s'.tiff' || break