1、$ awk '{b[ 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)}' 这个命令是查询日志文件中的平均执行时间 根据上面常用的命令来进行理解 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)}' 这个命令是查询日志文件中的平均执行时间 根据上面常用的命令来进行理解
]+=1;}END{for(i in b){print b[i]" " i;}}' text_access.log |sort -g1、$ awk '{b[
]+=1;}END{for(i in b){print b[i]"