带索引的并行嵌套循环
Parallel nested loop with index
如何在 gnu parallel 中编写如下所示的嵌套循环?
for h in GetHypervisors
echo h
for vm in GetVMs[h]
echo vm
我试过这个例子,但我不确定如何将值传递给嵌套循环。
parallel echo {Hypervisor}; echo {VM} ::: vms {} ::: Hypervisors
GNU Parallel 可以像这样计算两个列表的乘积:
parallel echo {1}; echo {2} ::: vm1 vm2 ::: hypervisor1 hypervisor2
但我认为您不需要该产品,我认为您希望 VM-list 依赖于 hypervisor-list。所以你需要做:
for h in GetHypervisors; do
for vm in $(GetVMs $h); do
echo $h,$vm
done
done | parallel --colsep , echo hypervisor-{1} vm-{2}
如果 GetVMs
很慢,您也可以并行化外循环。
如何在 gnu parallel 中编写如下所示的嵌套循环?
for h in GetHypervisors
echo h
for vm in GetVMs[h]
echo vm
我试过这个例子,但我不确定如何将值传递给嵌套循环。
parallel echo {Hypervisor}; echo {VM} ::: vms {} ::: Hypervisors
GNU Parallel 可以像这样计算两个列表的乘积:
parallel echo {1}; echo {2} ::: vm1 vm2 ::: hypervisor1 hypervisor2
但我认为您不需要该产品,我认为您希望 VM-list 依赖于 hypervisor-list。所以你需要做:
for h in GetHypervisors; do
for vm in $(GetVMs $h); do
echo $h,$vm
done
done | parallel --colsep , echo hypervisor-{1} vm-{2}
如果 GetVMs
很慢,您也可以并行化外循环。