shell按大小分类统计

intel@intel:~/sql$ cat memcp_stats.sh 
#!/bin/env bash
numa=0
numb=0
numc=0
numd=0
nume=0
numf=0
numg=0
numh=0
numi=0
numX=0


while read line
do
#    echo $line
	if [ $line -eq 0 ] ;then
		numa=`expr $numa + 1`

	elif [ $line -gt 0  ] && [ $line -lt 8 ] ;then
		numb=`expr $numb + 1`

	elif [ $line -ge 8  ] && [ $line -lt 64 ] ;then
		numc=`expr $numc + 1`
	
	elif [ $line -ge 64  ] && [ $line -lt 512 ] ;then
		numd=`expr $numd + 1`

	elif [ $line -ge 512  ] && [ $line -lt 4196 ] ;then
		nume=`expr $nume + 1`

	elif [ $line -ge 4196  ] && [ $line -lt 32768 ] ;then
		numf=`expr $numf + 1`

	elif [ $line -ge 32768  ] && [ $line -lt 262144 ] ;then
		numg=`expr $numg + 1`

	elif [ $line -ge 262144  ] && [ $line -lt 2097152 ] ;then
		numh=`expr $numh + 1`
	
	elif [ $line -ge 2097152  ] ;then
	
		numi=`expr $numi + 1`
	else
		numX=`expr $numX + 1`

	fi

		echo -e "等于0的$numa;大于0小于8的$numb;大于等于8小于64的$numc;大于等于64小于512的$numd;大于等于512小于4K的$nume;大于等于4K小于32K的$numf;大于等于32K小于256K的$numg;大于等于256K小于2M的$numh;大于2M的$numi;   其他$numX ; \n\n"
done < ./memcpy_stats.log

#echo -e "$num0;$num1;$num2;$num3;$num4;$num5;$num6;$num7;$num8;$num9;$num9;$num10;$num11;$num12;$num13;$numX;$nums"

版权声明:本文为qq_45396810原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。