awk中数组比较随意,同一个数组中的元素不一定要相同类型,而且数组下表可以是数字也可以是字符。
遍历数组有两种方式:
#-----------------------------/chapter11/ex11-30.sh------------------
#! /bin/awk -f
BEGIN {
#定义数组
stu[1]="200200110"
stu[2]="200200164"
stu[3]="200200167"
stu[4]="200200168"
stu[5]="200200172"
#计算数组的长度
len=length(stu)
#通过循环遍历数组
for(i=1;i<=len;i++)
{
print i,stu[i]
}
}
还有,数组的下标是从1开始计算,这点和C++, java不同。
#-----------------------------/chapter11/ex11-31.sh------------------
#! /bin/awk -f
BEGIN {
#定义数组
arr[1]="Tim"
arr[2]="John"
arr["a"]=12
arr[3]=3.1415
arr[4]=5
arr[99]=23
#遍历数组
for(n in arr)
{
print arr[n]
}
}
但是,当定义数组的时候下标不是统一为数字的话,那么我们无法使用上面方式来遍历,只能使用in命令来遍历。
原文地址:http://blog.csdn.net/puqutogether/article/details/45872241