【问题标题】:Get xargs sequence number获取 xargs 序列号
【发布时间】:2017-06-02 15:04:34
【问题描述】:

在 GNU Parallel 中你有:

seq()    -     sequence number of job

多亏了这个,我可以在 parallel 中运行 wget 使用:

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

【问题讨论】:

    标签: curl xargs


    【解决方案1】:

    像这样:

    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 {}"
    

    如果您的网址带有特殊字符(如空格和 ':),则需要 2 个 --shellquotes

    http://pi.dk/? '
    

    【讨论】:

      猜你喜欢
      • 2011-01-04
      • 1970-01-01
      • 2011-05-04
      • 2016-01-09
      • 2017-09-14
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      • 2015-09-24
      相关资源
      最近更新 更多