GNU/Linux >> Znalost Linux >  >> Linux

GNU paralelní - dva parametry z pole jako parametr

Vynecháte další parallel vlajky jen proto, abyste se soustředili...

parallel --link pf ::: A B ::: C D

Toto spustí vaši funkci nejprve s a=A , b=C následuje a=B , b=D nebo

a=A b=C
a=B b=D

Bez --link získáte úplnou kombinaci takto:

a=A b=C
a=A b=D
a=B b=C
a=B b=D

Aktualizace: Jak se zmínil Ole Tange v komentáři [od smazání - Vyd. ] existuje jiný způsob, jak to udělat:použijte :::+ operátor. Mezi těmito dvěma alternativami je však důležitý rozdíl pokud počet argumentů není na každé pozici parametru stejný. Příklad bude ilustrovat.

parallel --link pf ::: A B ::: C D E výstup:

a=A b=C
a=B b=D
a=A b=E

parallel pf ::: A B :::+ C D E výstup:

a=A b=C
a=B b=D

Takže --link bude "zabalit" tak, že všechny argumenty budou spotřebovány při :::+ bude ignorovat argument navíc. (V obecném případě preferuji --link protože alternativa v jistém smyslu tiše ignoruje vstup. YMMV.)


Linux
  1. Zabraňte ssh v rozbití parametrů skriptu shellu

  2. Jak mohu získat jedinečné hodnoty z pole v Bash?

  3. bash - vrátí pole z funkce a zobrazí obsah

  1. Analyzovat jedno pole z pole Json do pole Bash?

  2. Nakonfigurovat Postfix tak, aby přijímal poštu od dvou Wanů?

  3. Paralelní rsync pomocí GNU Parallel

  1. Spustit příkaz pomocí argumentů, které pocházejí z pole?

  2. Parametry příkazového řádku ve skriptech shellu

  3. Použití jq k načtení hodnoty klíče z výstupu json