awk数组的定义及使用
- 定义数组
- 调用数组
- 遍历数组
- 格式:for(变量名 in 数组名) {print 数组名[变量]}
- 定义数组name并赋予两个值,分别为jim何tom
$ awk 'BEGIN {
> name[0]="jim";name[1]="tom";print name[1],name[0]
> }'
tom jim
- 定义数组age,age[tom]的值为22,age[jim]的值为18
$ awk 'BEGIN {age["tom"]=22;age["jim"]=18;
> print age["tom"],age["jim"]}'
22 18
案例:统计web访问日志
$ cat access.log
172.40.1.18
172.40.1.17
172.40.1.18
172.40.1.17
172.40.1.18
172.40.1.17
172.40.1.18
172.40.1.17
172.40.1.18
172.40.1.17
172.40.1.18
$ awk '{IP[$1]++} END{for(i in IP){print i, IP[i]}}' access.log
172.40.1.17 5
172.40.1.18 6
$ who | awk '{IP[$1]++} END{for(i in IP){print i, IP[i]}}'
caowg 4
小结
- 本文我们学习了awk数组的基本语法联系
- 使用awk统计访问日志IP数据以及每个账户登录次数