我有filelist
数千个指向不一致命名的文件的绝对路径,如下所示:
file1A-2
file-76B
fileC-23
(...)
file9B-1
我正在寻找一种方法来使用parallel
、wget
/ curl
/aria2
或类似的工具从使用多个连接和进程下载所有文件filelist
,同时以正确的顺序用新名称保存每个文件,如下所示:
file1A-2 > file0001
file-76B > file0002
fileC-23 > file0003
(...)
file9B-1 > file9999
答案1
这是一个基本的想法:
i=0
for url in $(grep -v '#' "$1") ; do
((i++))
wget --output-document="file"$(printf "%03d" $i) "$url"
done
我没有使用过parallel
,但这似乎可以完成工作:
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
这些脚本需要列表文件作为命令行上的参数。