it-swarm.com.de

Parallel und wget zum Herunterladen und Generieren von Dateinamen mit geordneten Nummern

Ich habe eine filelist mit Tausenden von absoluten Pfaden zu Dateien mit inkonsistenten Namen, wie folgt:

file1A-2
file-76B
fileC-23
  (...)
file9B-1

Ich suche nach einer Möglichkeit, mit parallel, wget/curl/aria2 Oder ähnlichen Tools alle Dateien von filelist herunterzuladen. ] mit mehreren Verbindungen und Prozessen, während jede Datei in der richtigen Reihenfolge unter einem neuen Namen gespeichert wird:

file1A-2     >    file0001
file-76B     >    file0002
fileC-23     >    file0003
           (...)
file9B-1     >    file9999
4
VixinG

Hier ist eine Grundidee:

i=0
for url in $(grep -v '#' "$1") ; do 
  ((i++))
  wget --output-document="file"$(printf "%03d" $i) "$url"
done

Ich habe keine Erfahrung mit parallel, aber dies scheint den Job zu machen:

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

Diese Skripte erwarten die Listendatei als Argument in der Befehlszeile.

3
Thomas W.