
Eu tenho vários arquivos de texto, como a0001.txt
,, a0002.txt
contendo a0900.txt
links diretos para imagenshttps://example.com/photos/example.jpg.
Quero fazer download em lote de todos os links a0001.txt
para a0001
uma pasta e assim por diante nos respectivos nomes de pastas como arquivo de texto.
Os links devem ser baixados para que as imagens sejam renomeadas com prefixo, para fins de classificação.
O que tentei foi abaixo, mas o download de um arquivo por vez é super lento, alguma outra forma de fazer isso em paralelo?
#! /usr/bin/env
bashif [ -z $1 ] || egrep -qv '^https?:\/\/[^[:space:]]+' $1; then
echo "Usage: $0 FILE"
echo "FILE must be a newline-separated list of URLs."
exit
fi
INPUT_FILE=$1
OUTPUT_DIRECTORY="${INPUT_FILE%.*}"
mkdir -p $OUTPUT_DIRECTORY
i=1
while read URL; do
FILENAME="${URL##*/}"
curl -L $URL > "${OUTPUT_DIRECTORY}/${i}_${FILENAME}"
i=$(($i+1))
done < $INPUT_FILE