今天在网上看到一个求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脚本求的结果更加精确些.有需要的可以自己拿去试试.
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
-
-
7.27
string底层实现,channel底层实现,redis分布式锁实现, redis的SETNX方法。幂等,cap...
[阅读全文]
-
-
-
-
常见锁相关
Linux 锁futex: 所有的futex同步操作都应该从用户空间开始,首先创建一个futex同步变量,也就是...
[阅读全文]
-
网友评论