シリアル番号と画像URLを含む複数の列を含むCSVファイルがあります。ファイルの行が450を超えています。
1,text1,text2,http://image_a.jpg
2,text1,text2,http://image_b.jpg
3,text1,text2,http://image_c.jpg
.
.
.
目標はURLから画像をダウンロードすることで、ファイル名はシーケンスです。次のスクリプトを使用して正常に実行しました。
while IFS=, read col1 col2 col3 col4
do
curl ${col4} > ${col1}.jpg
done < myfile.csv
それでは、パラレルを使ってカールコマンドを実行したいと思いますxargs -P
。 (プロセスの数を制限したいので、バックグラウンドでのみ使用したくありません. &
)コマンド。-I
-R
私はgnuパラレルとwgetがより良いオプションかもしれないことを知っていますが、私のUnix環境では利用できません。
ありがとうございます。
ベストアンサー1
IF Scott提案された方法の1つを使用してGNU Parallelを取得できますhttps://oletange.wordpress.com/2018/03/28/excuses-for-not-installing-gnu-parallel/これにより、次のように動作できます。
parallel --colsep , 'curl {4} > {1}.jpg' :::: input.csv