2つの同じ範囲のBash支柱の拡張

2つの同じ範囲のBash支柱の拡張

次のように番号付きの複数のテキストファイルをダウンロードしたいと思います。

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'

おすすめ記事