如何使gnu-parallel拆分多个输入文件

时间:2013-09-04 19:34:23

标签: linux gnu-parallel

我有一个脚本,它接受三个参数并运行如下:

myscript.sh input1.fa input2.fa out.txt

脚本从input1.fainput2.fa读取一行,进行一些比较,并将结果写入out.txt。这两个输入需要具有相同的行数,并且out.txt在脚本完成后也将具有相同的行数。

是否可以使用GNU parallel对此进行并行化?

我并不关心输出与输入的顺序不同,但我需要将i input1.faiinput2.fa行进行比较output{#} 1}}。此外,如果我获得多个输出文件(例如cat)而不是一个 - 我只会split将它们放在一起,这是可以接受的。

我找到了this主题,但答案并不是我想要的。 我知道我可以xargs两个输入文件并使用{{1}}成对并行处理它们,但如果可能的话,我想在一行中执行此操作...

1 个答案:

答案 0 :(得分:0)

如果您可以更改myscript.sh,那么它从管道中读取并写入管道即可:

paste input1.fa input2.fa | parallel --pipe myscript.sh > out.txt

所以在myscript中你需要从STDIN读取并在TAB上拆分以从input1和input2获取输入。