Ho un ciclo while in Bash gestito in questo modo:parallelizzazione un ciclo while con gli array letti da un file in bash
while IFS=$'\t' read -r -a line;
do
myprogram ${line[0]} ${line[1]} ${line[0]}_vs_${line[1]}.result;
done < fileinput
Si legge da un file con questa struttura, per riferimento:
foo bar
baz foobar
e così via (delimitato da tabulazioni).
Vorrei parallelizzare questo ciclo (poiché le voci sono molte e l'elaborazione può essere lenta) usando GNU parallelo, tuttavia gli esempi non sono chiari su come assegnerei ogni linea all'array, come faccio qui.
Quale sarebbe una possibile soluzione (alternative al lavoro parallelo di GNU pure)?
C'è un modo per farlo con un limite massimo di processo? Altrimenti, eseguendolo su grandi input si apre - edit, non vedi la risposta di Hubbitus – nmr