Omettendo il tuo altro parallel
flag solo per rimanere concentrati...
parallel --link pf ::: A B ::: C D
Questo eseguirà prima la tua funzione con a=A
, b=C
seguito da a=B
, b=D
o
a=A b=C
a=B b=D
Senza --link
ottieni una combinazione completa come questa:
a=A b=C
a=A b=D
a=B b=C
a=B b=D
Aggiornamento: Come ha accennato Ole Tange in un commento [poi cancellato - Ed. ] c'è un altro modo per farlo:usa il :::+
operatore. Tuttavia, c'è un'importante differenza tra le due alternative if il numero di argomenti non è lo stesso in ciascuna posizione param. Un esempio illustrerà.
parallel --link pf ::: A B ::: C D E
uscita:
a=A b=C
a=B b=D
a=A b=E
parallel pf ::: A B :::+ C D E
uscita:
a=A b=C
a=B b=D
Quindi --link
eseguirà il "wrapping" in modo tale che tutti gli argomenti vengano consumati mentre :::+
ignorerà l'argomento aggiuntivo. (Nel caso generale preferisco --link
poiché l'alternativa è in un certo senso ignorare silenziosamente l'input. YMMV.)