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出现的次数。

转载于:https://www.cnblogs.com/QicongLiang/p/10316332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值