引用数组元素
你可以使用打印命令直接打印一个数组元素,如下所示,或者,你也可以分配数组项目到另外一个变量,用于awk程序额外操作。
print item[101]
x=item[105]
如果你引用的是不存在的数组元素,awk将会自动创建给定索引的数组元素,并且分配空值给它。如果你想避免这种情况,检查索引是否可用在访问数组元素之前。
你可以检查一个特定的数组索引是否存在,使用下面的if条件语法。如果索引存在数组中,返回true.
if ( index in array-name )
下面是一个简单的数据组引用的例子:
$ cat array-refer.awk
BEGIN {
x = item[55];
if ( 55 in item )
print "arry index 55 contains", item[55];
item[101]="HD Camcorder";
if ( 101 in item )
print "Array index 101 contains", item[101];
if ( 1010 in item )
print "Array index 1010 contains", item[1010];
}
$ awk -f array-refer.awk
arry index 55 contains
Array index 101 contains HD Camcorder
在上面的例子里:
* item[55]没有分配任何值。但是它被引用x=item[55].因此awk用空值自动创建数组元素。
* item[101]被分配一个值。因此当你检查索引101时,它是被呈现的。
* item[1010]不存在。因此当你检查索引1010时,它不能被呈现。