欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Shell根据web日志计算平均连接时间功能

程序员文章站 2023-11-09 11:31:28
今天在网上看到一个求web连接平均时间的shell命令,在自己的机器上试了下,发现不能使用,居然出现awk: fatal: division by zero attempt...

今天在网上看到一个求web连接平均时间的shell命令,在自己的机器上试了下,发现不能使用,居然出现awk: fatal: division by zero attempted这样的错误,毛了就自己改了下shell命令.

原shell脚本例子:

复制代码 代码如下:

cat access.log|grep "connect cbp" |awk 'begin{sum=0;count=0;}{sum+=$10;count++;}end{printf("sum=%d,count=%d,avg=%f\n",sum,count, sum/count)}'

修改后的shell:

复制代码 代码如下:

cat access.log |awk '{sum+=$10;count+=1} end{print "sum:"sum"\navg:"sum/count"\ncount:"count}'

执行结果:

复制代码 代码如下:

sum:33403166
avg:7951.24
count:4201

当然直接改原来的也可以:
复制代码 代码如下:

cat access.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脚本求的结果更加精确些.有需要的可以自己拿去试试.