【发布时间】:2021-03-17 06:22:06
【问题描述】:
我正在使用 GNU Parallel 创建一个 Python 作业文件。我希望文件看起来像这样:
job_num, args
001, -a 1 -b 2
002, -a 1 -b 4
003, -a 2 -b 2
004, -a 2 -b 4
这个想法是每组 args 可以在文件生成时配置,同时具有前导零作业编号。
这是我尝试过的一件事:
parallel --rpl '{0#} $_=sprintf("%02d",$job->seq())' echo {0#}, -a {1} -b {2} ::: 1 2 ::: 2 4
这会导致:
01 01, -a 1 -b 2
02 02, -a 1 -b 4
03 03, -a 2 -b 2
04 04, -a 2 -b 4
我没想到的结果是双组工作编号(使用 3 个扩展,它会产生 3 个工作编号)。关于如何使我正在尝试的工作有什么想法吗?
在 20170322 和 20210222 版本上测试。
相关帖子(试了每篇的内容):
【问题讨论】:
-
我不知道答案,但解决方法可能是
parallel 'printf -v z "%03d" {#}; echo $z -a {1} -b {2}' ::: 1 2 ::: 2 4 -
或者,更简单的
parallel 'printf "%03d, -a {1} -b {2}\n" {#}' ::: 1 2 ::: 2 4
标签: parallel-processing gnu-parallel