awk----利用循环统计个数
Posted 光を追うのCaius
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk----利用循环统计个数相关的知识,希望对你有一定的参考价值。
以统计nginx访问日志里面每个ip出现的个数为例
命令如下:
awk ‘{a[$1]++}END{for(j in a) print a[j],j}‘ /usr/local/nginx/logs/access.log
其中
{a[$1]++}的意思是把$1添加进a这个数组里面,并统计其个数。个人理解,这时候的数组a应该是一个内容对应一个值,例如(192.168.0.1:21,192.168.0.2:54)
for(j in a)的意思是把a这个数组的内容赋值给j。
print a[j],j}其中a[j]的意思是在a这个数组中找到“j”这个内容对应的值。简而言之就是,在a这个数组中查找192.168.0.1对应的值,也就是21,也就是这个ip出现的次数。
以上是关于awk----利用循环统计个数的主要内容,如果未能解决你的问题,请参考以下文章
linux统计一个文件中某个字符串的个数[grep/awk/tr]
linux统计一个文件中某个字符串的个数[grep/awk/tr]