shell并发执行:
1、通过后台执行,无法控制并行度。
for j in $cut_path/*;
do
{
echo $j
awk -F "|" '{print substr($1,1,3)"|"substr($2,1,15)' $j >$j".txt"
} &
done
wait
2、xargs 可以控制并行度
for i in $week_path/'csv_'$day/*
do
echo $i
p=`echo $i | awk -F "/" '{print $7}'`
echo 'provCode:'$p
find $i -name "*.csv" | cut -c59-85 | xargs -P 3 -i zip -qj $week_path/'test_zip_'$day/{}'.zip' $i/{}'.csv'
done
多命令情况
find /root/test_data -name "user*" | xargs -P 3 -i sh -c -x "awk -F ""\|"" '{print substr(\$1,1,15) ""\"|\""" substr(\$2,1,15)}' {} >{}.txt"