Omitiendo tu otro parallel
banderas solo para mantener la concentración...
parallel --link pf ::: A B ::: C D
Esto ejecutará su función primero con a=A
, b=C
seguido de a=B
, b=D
o
a=A b=C
a=B b=D
Sin --link
obtienes una combinación completa como esta:
a=A b=C
a=A b=D
a=B b=C
a=B b=D
Actualización: Como mencionó Ole Tange en un comentario [desde que se eliminó - Ed. ] hay otra forma de hacer esto:use el :::+
operador. Sin embargo, hay una diferencia importante entre las dos alternativas si el número de argumentos no es el mismo en cada posición de parámetro. Un ejemplo lo ilustrará.
parallel --link pf ::: A B ::: C D E
salida:
a=A b=C
a=B b=D
a=A b=E
parallel pf ::: A B :::+ C D E
salida:
a=A b=C
a=B b=D
Así que --link
se "envolverá" de modo que todos los argumentos se consuman mientras :::+
ignorará el argumento adicional. (En el caso general prefiero --link
ya que la alternativa es, en cierto sentido, ignorar silenciosamente la entrada. YMMV.)