25 - awk数组

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数据以及每个账户登录次数
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 一、awk if分支结构二、awk数组 for循环 一、awk if分支结构 if分支结构(单分支、双分支、...
    Bigyong阅读 3,584评论 0 0
  • 1.什么是数组? 答:数组值的是一个可以储存多个值的变量; 因此,当一个脚本中需要应用到很多的变量时,数组可以较好...
    RealLuo阅读 259评论 0 0
  • 5.1 案例介绍 模拟无限分类,无限分类是我们在开发中经常用到的功能。我们可以使用它来制作网站的栏目分类 5.2 ...
    杰奎琳子阅读 366评论 0 3
  • awk的数组,是一种关联数组(Associative Arrays),下标可以是数字和字符串。因无需对数组名和元素...
    咕咕鷄阅读 6,979评论 0 4
  • https://www.jb51.net/article/125151.htm?utm_medium=referr...
    是我拉叔阅读 333评论 0 0