J'ai un filelist
avec des milliers de chemins absolus vers des fichiers nommés de manière incohérente, comme ceci:
file1A-2
file-76B
fileC-23
(...)
file9B-1
Je cherche un moyen d'utiliser parallel
, wget
/curl
/aria2
ou des outils similaires pour télécharger tous les fichiers de la filelist
à l'aide de plusieurs connexions et processus, tout en sauvegardant chaque fichier avec un nouveau nom dans un ordre correct, comme ceci:
file1A-2 > file0001
file-76B > file0002
fileC-23 > file0003
(...)
file9B-1 > file9999
Voici une idée de base:
i=0
for url in $(grep -v '#' "$1") ; do
((i++))
wget --output-document="file"$(printf "%03d" $i) "$url"
done
Je n'ai aucune expérience avec parallel
, mais cela semble faire l'affaire:
i=0
for s in $(grep -v '#' "$1") ; do
((i++))
parallel --no-notice -n0 wget --output-document="file"$(printf "%03d" $i) "$s" ::: {1..1}
done
Ces scripts attendent le fichier liste en tant qu'argument sur la ligne de commande.