GNU/Linux >> LINUX-Kenntnisse >  >> Linux

GNU parallel - zwei Parameter aus Array als Parameter

Lassen Sie Ihren anderen parallel weg Flaggen, nur um konzentriert zu bleiben...

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

Dadurch wird Ihre Funktion zuerst mit a=A ausgeführt , b=C gefolgt von a=B , b=D oder

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

Ohne --link Sie erhalten eine vollständige Kombination wie folgt:

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

Aktualisierung: Wie Ole Tange in einem Kommentar erwähnte [seitdem gelöscht - Hrsg. ] gibt es einen anderen Weg, dies zu tun:Verwenden Sie den :::+ Operator. Es gibt jedoch einen wichtigen Unterschied zwischen den beiden Alternativen if die Anzahl der Argumente ist nicht in jeder param-Position gleich. Ein Beispiel soll dies veranschaulichen.

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

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

parallel pf ::: A B :::+ C D E Ausgabe:

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

Also --link wird so "umbrechen", dass alle Argumente verbraucht werden, während :::+ wird das zusätzliche Argument ignorieren. (Im Allgemeinen bevorzuge ich --link da die Alternative in gewisser Weise darin besteht, Eingaben stillschweigend zu ignorieren. YMMV.)


Linux
  1. Ein Feld aus einem Json-Array in ein Bash-Array parsen?

  2. Wie erstelle ich ein Array eindeutiger Elemente aus einer Zeichenfolge/einem Array in Bash?

  3. Lum – Spalten aus zwei separaten Dateien zusammenführen?

  4. Gnu Parallel Vs &(ich meine Hintergrund) Vs Xargs -p?

  5. Linux – Gnu Parallel Pair Argument mit Dateieingabeargumenten?

So bearbeiten Sie Ihre Kernel-Boot-Parameter unter Linux

Lernen Sie Multithreading-Bash-Skripte mit GNU Parallel

Wie kann ich eindeutige Werte aus einem Array in Bash erhalten?

Parameter für den parallelen Download von Aria2c

GNU-Bildschirmanzeige + von Putty

Parallelisieren Sie rsync mit GNU Parallel