码迷,mamicode.com
首页 > 编程语言 > 详细

awk操作数组注意几点

时间:2014-11-13 14:16:39      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   os   使用   sp   for   

awk的数组跟其他程序设计语言的数组有所不同:
1、不需要正式定义,一个数组在使用时被定义;
2、数组元素的初始值为0或空字符串,除非他们被显示的指定初始化;
3、数组可以自动扩展;
4、下标可以使字符串。

 

split函数的返回值是数组长度。awk中数组的下标是从1开始的。

$ echo ""|awk BEGIN{a="here is test";len=split(a,arr," ")}{print len, arr[1]}
3 here

求数组长度的方法:

length(arr)

删除数组元素:delete arr[‘key‘]可以用于删除数组元素。也可以使用delete arr来删除整个数组。

$ echo ""|awk BEGIN{a="here is test";len=split(a,arr," ")}{delete arr[1];for(k in arr)print arr[k]}
is
test

 

for in输出数组:i代表数组的下标,不是val。

$ echo ‘‘|awk BEGIN{arr["one"]=1;arr["two"]=2;arr["three"]=3;}{for (i in arr)print i, arr[i]}
three 3
two 2
one 1

查的awk的for in print数组可能有乱序问题:(我测试没有),图片附上解决办法。

bubuko.com,布布扣

awk操作数组注意几点

标签:style   blog   http   color   ar   os   使用   sp   for   

原文地址:http://www.cnblogs.com/leezhxing/p/4094642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!