我想使用GNU Parallel来运行具有两个不同参数和两个不同glob的相同命令。例如,我想要运行以下作业:
mycmd A apples1
mycmd A apples2
mycmd A apples3
mycmd B bananas1
mycmd B bananas2
我可以通过两次单独的调用来完成,但是这会使通过一次调用parallel
来管理我的工作失败。有办法吗?
parallel mycmd A ::: apples*
parallel mycmd B ::: bananas*
答案 0 :(得分:0)
我假设你不想要Bs和你的苹果。否则它就像:
一样简单parallel mycmd ::: [A-Z] ::: [a-z]*
如果A可以计算为第二个arg的第一个字符,则可以从版本20140722执行此操作:
parallel mycmd '{= $_=uc(substr($_,0,1)) =}' {} ::: [a-z]*
如果你有一个苹果列表和相应的像这样:
A,apples1
A,apples2
B,bananas1
B,bananas2
B,bananas3
然后你可以拆分,:
cat file | parallel --colsep , mycmd {1} {2}
如果这也不是你输入的方式,那么你需要解释一下你如何拥有你的和苹果。