并行化一个while循环,数组从bash中的文件读取

我在 Bash中有一个while循环处理如下:
while IFS=$'\t' read -r -a line;
do
    myprogram ${line[0]} ${line[1]} ${line[0]}_vs_${line[1]}.result;
done < fileinput

它从具有此结构的文件中读取,以供参考:

foo   bar
baz   foobar

等等(制表符分隔).

我想使用GNU并行来并行化这个循环(因为条目很多并且处理速度很慢),但是我不知道如何将每行分配给数组,就像我在这里做的那样.

什么是可能的解决方案(GNU并行工作的替代方案)?

https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Use-a-table-as-input开始:

“””
table_file.tsv的内容

foo<TAB>bar
baz <TAB> quux

跑步:

cmd -o bar -i foo
cmd -o quux -i baz

你可以运行:

parallel -a table_file.tsv --colsep '\t' cmd -o {2} -i {1}

“””

所以在你的情况下它将是:

cat fileinput | parallel --colsep '\t' myprogram {1} {2} {1}_vs_{2}.result

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...