获取xargs序列号

时间:2017-06-01 23:40:52

标签: curl xargs

在GNU Parallel中你有:

seq()    -     sequence number of job

多亏了这一点,我可以使用:

wget中运行parallel
parallel -a urls.txt -j8 wget -q {} -O '{=$_=sprintf("file%05d.ts", $job->seq())=}'

..它会像这样命名文件:

file00001.ts
file00002.ts
...
file00999.ts

现在,我如何获得xargs的序列号?

示例:

xargs -P 8 -n 1 curl -O < urls.txt

1 个答案:

答案 0 :(得分:0)

像这样:

cat urls.txt |
  parallel --shellquote |
  parallel --shellquote |
  perl -pe 's/(.*)/$1.sprintf(" -O file%05d.ts",++$t)/e' |
  xargs -P 8 -n 1 -I {} bash -c "wget {}"

如果你有像空格和&#39;这样的特殊字符的网址,则需要2 --shellquote

http://pi.dk/? '