次のように番号付きの複数のテキストファイルをダウンロードしたいと思います。
curl https://www.grc.com/sn/sn-{472..807}.txt > sn-{472..807}.txt
しかし、これは私に次のことを与えます:
bash: sn-{472..807}.txt: あいまいなリダイレクト
だから私はこれをしました:
for iEpisode in {472..807}; do
curl https://www.grc.com/sn/sn-"$iEpisode.txt" > sn-"$iEpisode.txt";
if [[ $? -eq 1 ]]; then exit; fi;
done
問題は次のとおりです。簡単にする方法はないでしょうか curl
デュアルサポート拡張はありますか?
(私にはあいまいではなく、Googleが役に立たなかったため) :/
ベストアンサー1
複数のファイルにリダイレクトしようとしているので、これはあいまいです。あなたのシェルはどれを選ぶでしょうか?
通常、ループを実行する必要がありますfor
が、Curlでは次のことができます。
curl --remote-name-all https://www.grc.com/sn/sn-{472..807}.txt
このオプションは次のとおりです-O
(参照マニュアルページ)、
-O、--リモート名
取得したリモートファイルと同様の名前のローカルファイルに出力を書き込みます。 (リモートファイルのファイル部分のみを使用し、パスは切り捨てられます。)
しかし、すべての主張に適用します。
Curlはシェルに似た範囲も理解しています。
curl -O 'https://www.grc.com/sn/sn-[472-807].txt'