awk关联数组的下标

来源:互联网 发布:中国电信大数据事业部 编辑:程序博客网 时间:2024/06/14 14:57

使变量作为数组索引请参见范例

范例

cat employees
Tom   Jones 4424 5/12/66 543354
Mary  Adams 5346 11/4/63 28765
Sally Chang 1654 7/22/54 650000
Billy Black 1683 9/23/44 336500
$ awk '{name[x++]=$2}END{for(i=0; i<NR; i++){print i,name[i]}}' employees
0 Jones 
1 Adams 
2 Chang 
3 Black

说明:数组name的下标是用户自定义的变量x。运算符++表明这是一个数值型的变量。awk将x初始化为0,并且每次使用x后将其加1(所用的是后递增运算符)。每条记录的第2个字段都将赋值给数组name中的相应元素。END块使用for循环来循环处理数组,将从下标0开始,依次打印数组元素的值。下标只是一个键,所以不必从0开始。下标可以从任意值开始,数字或字符串都可以。
范例:

$ awk'{id[NR]=$3}END{for(x=1; x<=NR; x++){print id[x]}}' employees
4424
5346
1654
1683

说明:awk变量NR保存当前记录的记录号。本例用NR作为下标,把每条记录的第3个字段赋值给数组中的相应元素。最后,for循环对数组进行循环处理,打印出保存在数组中的值。

参考资料:http://www.linuxawk.com/jiaocheng/252.html

0 0