【问题标题】:rename output files with iteration number and input with gnu parallel使用迭代号重命名输出文件并使用 gnu 并行输入
【发布时间】:2018-10-02 13:22:52
【问题描述】:

我有一个文件列表(data1.txt, ... ,data6.txt),我想在它们上运行相同的命令 3 次作为示例。我正在使用 gnu 并行

我想作为输出文件:1data1.txt, 2data1.txt, 3data1.txt, ... , 2data6.txt, 3data6.txt.

我试过了:

for i in $(seq 3); do parallel -j 8 'myCommand data{}.txt > results/out/{$i}data{}.txt' ::: 1 2 3 4 5 6; done

但我的输出文件是:{}data1.txt, ...., {}data6.txt

我尝试了不同的可能性,但没有得到预期的结果

【问题讨论】:

    标签: gnu gnu-parallel


    【解决方案1】:

    使用 GNU Parallel 的组合功能:

    parallel -j 8 myCommand data{2}.txt '>' results/out/{1}data{2}.txt' ::: 1 2 3 ::: 1 2 3 4 5 6
    

    如果您的 CPU 有 8 个线程,您可以省略 -j8。这是一个好主意,如果您以后要在更大的系统上运行它。

    您也可以使用--results(需要版本>20170222):

    parallel --results results/out/{1}data{2}.txt myCommand data{2}.txt ::: 1 2 3 ::: 1 2 3 4 5 6 >/dev/null
    

    【讨论】:

    • 你好.. 谢谢
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2014-01-11
    相关资源
    最近更新 更多