shell并发执行命令

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" 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值