如何在
我正在尝试将此for循环转换为可在集群上运行的好的并行cmd。我非常喜欢的一个功能是,如果任何作业具有非零退出状态,则停止此进程,如此处所述:https://www.gnu.org/software/parallel/parallel_tutorial.html#Termination
parallel
中使用增量变量?请注意输出文件名(前缀)中的$int
变量。我知道顺序可能会改变,但可以为下游工作添加整数前缀非常有用(${array[@]}
的长度会发生更改)。我正在尝试将此for循环转换为可在集群上运行的好的并行cmd。我非常喜欢的一个功能是,如果任何作业具有非零退出状态,则停止此进程,如此处所述:https://www.gnu.org/software/parallel/parallel_tutorial.html#Termination
var='infile.txt'
int=1
for file in ${array[@]}; do
script.rb -i $var -o $int_$file
((int+=1))
done
收件人:
parallel --halt soon,fail=1 --jobs $NSLOTS script.sh -i $var -o int_{} ::: ${array[@]}
我认为使用 {1..array_len} 结构作为计数器可能会起到一定作用,但是这个命令并不能实现: parallel --halt soon,fail=1 --jobs $NSLOTS script.sh -i $var -o {2}_{1} :::: ${array[@]} {1..${#array[@]}}