在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
今天在网上看到一个求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脚本求的结果更加精确些.有需要的可以自己拿去试试. |
请发表评论