Shell根据web日志计算平均连接时间功能
今天在网上看到一个求web连接平均时间的shell命令,在自己的机器上试了下,发现不能使用,居然出现awk:fatal:divisionbyzeroattempted这样的错误,毛了就自己改了下shell命令.
原shell脚本例子:
cataccess.log|grep"connectcbp"|awk'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",sum,count,sum/count)}'
修改后的shell:
cataccess.log|awk'{sum+=$10;count+=1}END{print"SUM:"sum"\nAVG:"sum/count"\nCOUNT:"count}'
执行结果:
SUM:33403166 AVG:7951.24 COUNT:4201
当然直接改原来的也可以:
cataccess.log|awk'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",sum,count,sum/count)}'
执行结果:
sum=33403166,count=4201,avg=7951.241609
可以看到原shell脚本求的结果更加精确些.有需要的可以自己拿去试试.