linux中awk的简单使用

xiaoxiao2021-02-27  325

1、$ awk '{b[$1]+=1;}END{for(i in b){print b[i]" " i;}}' text_access.log |sort -g

首先我们先来看一下这行命令的解析。【这行命令是查看nginx日志文件的相同ip的访问次数】

逐个进行详解!

''  执行匹配语句awk'',只能用单引号。

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

BEGIN{这里面放的是执行前的语句}。

END{这里面放的是处理完所有的行后要执行的语句}

{这里面放的是处理每一行时要执行的语句}

for(i in b)将打印b数组中的每一个元素;数组b的每个现有下标依次赋值给i(循环控制变量),每次赋值以后都循环依次循环代码

print b[i]" " i;打印b数组中的每个值,空格,和i。

text_access.log在这个日志文件中

|sort -g按顺序进行排列。

2、cat text_access.log |awk 'BEGIN{sum=0;count=0;}{sum+=$11;count++;}END{printf("sum=%d,count=%d,avg=%f\n",sum,count,sum/count)}'

这个命令是查询日志文件中的平均执行时间

根据上面常用的命令来进行理解

转载请注明原文地址: https://www.6miu.com/read-5458.html

最新回复(0)