免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1797 | 回复: 8
打印 上一主题 下一主题

[系统管理] awk数组的作用 [复制链接]

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-07-04 22:20:00IT运维版块每日发帖之星
日期:2015-11-25 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-16 17:20 |只看该作者 |倒序浏览
正在学习awk,看不懂数组,弱弱的问一下,数组是干什么的,有什么作用?希望解释的通俗一点。

论坛徽章:
0
2 [报告]
发表于 2015-05-16 19:31 |只看该作者
同求  

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
3 [报告]
发表于 2015-05-17 10:31 |只看该作者
本帖最后由 lyhabc 于 2015-05-17 10:32 编辑

如果学过编程,数组其实很容易理解,就像C语言里面的数组

数组

  因为awk中数组的下标可以是数字和字母,数组的下标通常被称为关键字(key)。值和关键字都存储在内部的一张针对key/value应用hash的表格里。由于hash不是顺序存储,因此在显示数组内容时会发现,它们并不是按照你预料的顺序显示出来的。数组和变量一样,都是在使用时自动创建的,awk也同样会自动判断其存储的是数字还是字符串。一般而言,awk中的数组用来从记录中收集信息,可以用于计算总和、统计单词以及跟踪模板被匹配的次数等等。



显示/etc/passwd的账户

复制代码
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name}' /etc/passwd
0 root
1 daemon
2 bin
3 sys
4 sync
5 games


这里使用for循环遍历数组

0,1,2,3。。。这些就是值在数组中的位置编号,root,daemon这些就是数组里面实际的值

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
4 [报告]
发表于 2015-05-17 10:34 |只看该作者
百度百科的解释
数组编辑
所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

http://baike.baidu.com/link?url= ... CfjbbQ-YeVJOKGpFe8_
其实AWK算是一门编程语言,有数组这个功能不奇怪

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
5 [报告]
发表于 2015-05-17 15:01 |只看该作者
回复 1# 骑着蜗牛定乾坤


   数组可以看成是一个变量集合:

       array[index]=value   =>  数组名[下标]=值
   
   可以理解成一本书,
   书名 =》 数组名称
   页码 =》 下标
   内容 =》 数组值

   CU[1]=a
   CU[2]=b
   CU[3]=c
   .
   .

   CU是一本书,
   第1页内容是: a
   第2页内容是: b
   第3页内容是: c
   .
   .

论坛徽章:
0
6 [报告]
发表于 2015-05-17 23:01 |只看该作者
嗯嗯,懂了

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-07-04 22:20:00IT运维版块每日发帖之星
日期:2015-11-25 06:20:00
7 [报告]
发表于 2015-05-18 08:48 |只看该作者
懂了,说的很通俗,非常感谢回复 5# 关阴月飞


   

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-07-04 22:20:00IT运维版块每日发帖之星
日期:2015-11-25 06:20:00
8 [报告]
发表于 2015-05-18 08:50 |只看该作者
数组就是同类型变量的集合,晓得了,感谢楼上各位的回复

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-07-04 22:20:00IT运维版块每日发帖之星
日期:2015-11-25 06:20:00
9 [报告]
发表于 2015-05-18 15:12 |只看该作者
有哪些自动化的工具
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP