- 论坛徽章:
- 0
|
代码如下:
#! /bin/bash
for line in `cat BC.csv`
do
declare -i na_num
declare -i not_na_num
na_num=$(echo $line|awk -F "," '{for(i=1;i<=NF;++i) if($i=="NA") ++num}END{print num}')
sum=$(echo $line|awk -F "," '{for(i=4;i<=NF;i+=2) if($i!="NA") sum+=$i}END{print sum}')
not_na_num=$(echo $line|awk -F',' '{for(i=4;i<=NF;i+=2) if($i!="NA") ++sum_1}END{print sum_1}')
avg=`echo "$sum/$not_na_num"|bc`
if [ $na_num -le 6 ] && [ `echo "$avg <= 5"|bc` -eq 1 ];then
echo $line >> BC_filter.csv
fi
done
数据大小也就100多兆,但是跑了好几天都还没跑完,后来投上去的其它脚本都跑完了,这个还没跑到一半,用ps aux查看了一下:
如图,CPU占用才13.9,而且经常处于S而非R状态,运行效率真的很慢!请问有人知道这到底是哪个步骤出了问题吗?
|
|