Shell根據(jù)web日志計(jì)算平均連接時(shí)間功能
今天在網(wǎng)上看到一個(gè)求web連接平均時(shí)間的shell命令,在自己的機(jī)器上試了下,發(fā)現(xiàn)不能使用,居然出現(xiàn)awk: fatal: division by zero attempted這樣的錯(cuò)誤,毛了就自己改了下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}'
執(zhí)行結(jié)果:
SUM:33403166
AVG:7951.24
COUNT:4201
當(dāng)然直接改原來的也可以:
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)}'
執(zhí)行結(jié)果:
sum=33403166,count=4201,avg=7951.241609
可以看到原shell腳本求的結(jié)果更加精確些.有需要的可以自己拿去試試.
相關(guān)文章
Linux makefile 和shell文件相互調(diào)用實(shí)例詳解
這篇文章主要介紹了Linux makefile 和shell文件相互調(diào)用實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03shell腳本中case條件控制語句的一個(gè)bug分析
在shell腳本中,發(fā)現(xiàn)case語句的一個(gè)問題。就是指定小寫字母[a-z]和大寫字母[A-Z]的這種方法不管用了2013-11-11shell命令實(shí)現(xiàn)當(dāng)前目錄下多個(gè)文件合并為一個(gè)文件的方法
今天小編就為大家分享一篇關(guān)于shell命令實(shí)現(xiàn)當(dāng)前目錄下多個(gè)文件合并為一個(gè)文件的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02