[root@oldboy02 ~]# awk 'BEGIN{h[110]="lee";h[114]="xo";print h[110],h[114]}'
lee xo
[root@oldboy02 oldboy]# vim url.txt
[root@oldboy02 oldboy]# awk -F "[/.]+" '{print $2}' url.txt (/+表示连续的斜线) ([/.]表示取出的是www.内容)
www
www
post
mp3
post
www
www
[root@oldboy02 oldboy]# awk -F "[/.]+" '{h[$2]=h[$2]+1}END {print h["www"],h["post"],h["mp3"]}' url.txt (统计第二例每个字符串出现的次数)
4 2 1
[root@oldboy02 oldboy]# awk -F "[/.]+" '{h[$2]=h[$2]+1}END {for(pol in h) print pol}' url.txt (显示变量里面的名称)
pol 表示变量 h 表示变量的名称
www
mp3
post
[root@oldboy02 oldboy]# awk -F "[/.]+" '{h[$2]=h[$2]+1}END {for(pol in h) print pol,h[pol]}' url.txt (统计出现的次数)
www 4
mp3 1
post 2
企业案例2
统计secure.log中 每个破解你密码的ip的出现次数
[root@oldboyedu-sh01-lnb files]# awk '/Failed password/{h[$(NF-3)]++}END{for(pol in h) print pol,h[pol]}' secure-20161219 |sort -rnk2|head
统计access.log 中 每个ip地址出现的次数
[root@oldboyedu-sh01-lnb files]# awk '{h[$1]++}END{for(pol in h) print pol,h[pol]}' access.log |sort -rnk2 |head
Failed 是用户登陆失败,连续多次的登陆失败,就是在暴力破解密码。
/Failed/ 关键词查找
$ (NF-3) 表示倒数第四列
fa[$(NF-3)]++ 使用数组,对不同的ip分类累加
for(pol in fa) for循环 使用pol 变量,逐个的取出fa[$(NF-3)] 数组中的内容。
print pol,fa[pol] 显示数组的内容,以及pol的次数,即统计.