并行化bash脚本,该脚本调用多个文件并使用bcp

时间:2018-08-01 20:52:51

标签: bash parallel-processing

我有以下内容:

        # **************************************************
        # **************************************************
        user=$(awk -F"[=;]" '/UID/{ print $2 }' file0.txt)
        pass=$(awk -F"[=;]" '/PWD/{ print $2 }' file0.txt)

        if [ $# -eq 0 ]
        then
            printf "we are deploying on **** for all metrics"
            (for status in status1 status2 status3
            do
                (for metric in metric1 metric2 metric3
                do 
                    (ipython file1.py Inpatient $status $metric
                    ipython file2.py Inpatient $status $metric
                    BCP table in output_Inpatient_$status_$metric.csv -U $user  -P $pass -t ',' -q -c
                    rm output_Inpatient_$status_$metric.csv) &
                done) &
                wait
            done

            ipython file3.py
            BCP table in output_2.csv -U $user -P $pass -t ',' -q -c 
            rm output_2.csv)

            (for status in status4 status5 status6
            do
                (for metric in metric4 metric5 metric6 
                do 
                    ipython file1.py Claims $status $metric
                    ipython file2.py Claims $status $metric
                    BCP table in output_Inpatient_$status_$metric.csv -U $user -P $pass -t ',' -q -c
                    rm output_Inpatient_$status_$metric.csv) &
                done) &
            done) )&    
        fi

我有几个问题。是否可以同时(并行)运行第一和第二组for循环。另外,是否可以同时运行一组for循环的每个组合?即并行化上述每个步骤以同时运行? (它们都写入相同的csv名称,并且它们都将bcp放入同一表中。是不是有问题?)

0 个答案:

没有答案