【问题标题】:Executing bash script on multiple lines inside multiple files in parallel using GNU parallel使用 GNU 并行在多个文件内的多行上并行执行 bash 脚本
【发布时间】:2017-11-02 05:54:43
【问题描述】:

我想使用 GNU 并行解决以下问题:

我有几个文件,每个文件都有几行文本。我想了解如何在每个文件的每一行文本上以及为每个文件并行运行脚本(code.sh)。我应该能够将每个输入文件的操作输出写到具有不同扩展名的输出文件中。

似乎这是多个并行命令在所有文件上并行运行然后对每个文件内的所有行并行运行的情况。

这是我用的:

ls mydata_* |
    parallel -j+0 'cat {} | parallel -I ./explore-bash.sh > {.}.out'

我不知道如何使用 GNU 并行来做到这一点。请帮忙。

【问题讨论】:

标签: gnu-parallel


【解决方案1】:

您的解决方案似乎合理。你只需要删除 -I:

ls mydata_* | parallel -j+0 'cat {} | parallel ./explore-bash.sh > {.}.out'

根据您的设置,这可能会更快,因为它只会运行 n 个作业,而上述解决方案将并行运行 n*n 个作业(n = 内核数):

ls mydata_* | parallel -j1 'cat {} | parallel ./explore-bash.sh > {.}.out'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多