Gnuとbash配列の並列性

Gnuとbash配列の並列性

GNUを使用してrecon-allコマンドを並列に実行してみました。無料サーファー前処理8つのパテントを同時に実行するbashの患者ロール配列があります。

root@4d8896dfec6c:/tmp# echo ${ids[@]}
G001 G002 G003 G004 G005 G006 G007 G008

次のコマンドで実行してみてください。

echo ${ids[@]} | parallel --jobs 28 recon-all -s {.} -all -qcache

次のようにls表現にbash配列を使用する必要があるため、機能しません。

ls ${ids[@]} | parallel --jobs 28 recon-all -s {.} -all -qcache

どうすればいいですか?

ベストアンサー1

IDが単一のコマンドラインに収まる場合:

parallel --jobs 28 recon-all -s {.} -all -qcache ::: "${ids[@]}"

Lucasが提案したその他の事項:

printf %s\\n "${ids[@]}" | parallel --jobs 28 recon-all -s {.} -all -qcache

おすすめ記事