Omettre votre autre parallel
drapeaux juste pour rester concentré...
parallel --link pf ::: A B ::: C D
Cela exécutera d'abord votre fonction avec a=A
, b=C
suivi de a=B
, b=D
ou
a=A b=C
a=B b=D
Sans --link
vous obtenez une combinaison complète comme celle-ci :
a=A b=C
a=A b=D
a=B b=C
a=B b=D
Mise à jour : Comme Ole Tange l'a mentionné dans un commentaire [depuis supprimé - Ed. ] il y a une autre façon de faire cela :utilisez le :::+
opérateur. Cependant, il existe une différence importante entre les deux alternatives si le nombre d'arguments n'est pas le même dans chaque position de paramètre. Un exemple illustrera.
parallel --link pf ::: A B ::: C D E
sortie :
a=A b=C
a=B b=D
a=A b=E
parallel pf ::: A B :::+ C D E
sortie :
a=A b=C
a=B b=D
Alors --link
"enveloppera" de sorte que tous les arguments soient consommés tandis que :::+
ignorera l'argument supplémentaire. (Dans le cas général je préfère --link
puisque l'alternative est en quelque sorte d'ignorer silencieusement l'entrée. YMMV.)