Linux--工作常用命令学习记录

版权声明:本文为博主原创文章,转载请标注出处,谢谢。 https://blog.csdn.net/qq_33182756/article/details/84102435

1、sed -n '/14\/Nov\/2018:20:30:/,/14\/Nov\/2018:20:31/p' api.weclassroom.com.access.log-20181115 | grep '/class/replay/allow' | awk -F"|" '{sum+=$14*1000};END{print sum}'

指定时间范围,在某文档里查询 并统计 每行以| 作为分隔符的第14列的值的,所有行的总数。

2、/home/work/local/nginx/logs  ----nginx   access.log日志

3、sed -n '/14\/Nov\/2018:20:35:/,/14\/Nov\/2018:20:40/p' api.weclassroom.com.access.log-20181115 |awk -F"|" '{print $1,$3}'|awk '{print $1" "$3}'|awk '{sum[$2]+=1}END{for(i in sum)print i"\t"sum[i]}' |sort -k 2nr|head   :

/stream/video/list    1664

/file/get/clilistlessondoc    1161

/tool/clientdebugfile    590

/service/ini/class    311

/service/ini/user    275

/replay/status    197

/service/chat?i=22&l=221893&sign=1&t=1000    153

/stream/callback/onpublish    147

/tool/get/record/url    120

/tool/sts/gettoken?appuniqid=actiongateway_v10    115

 

 

 

awk脚本

关于awk脚本,我们需要注意两个关键词BEGIN和END。

  • BEGIN{ 这里面放的是执行前的语句 }
  • END {这里面放的是处理完所有的行后要执行的语句 }
  • {这里面放的是处理每一行时要执行的语句}

awk默认按照字符串比较的,如果要比较数值,需要先强制类型转换,即 $1+0,转换成整数。

猜你喜欢

转载自blog.csdn.net/qq_33182756/article/details/84102435