awk

Browse the Array using For Loop

使用for浏览数组

如果你想访问数组所有元素,你可以使用for循环一个特定实例来遍历数组所有索引。

语法:

for (var in arrayname )
actions

* var是任何变量名

* in是一个关键字

* arrayname是数组名子

* actions是被执行awk语句列表。如果你想执行超过一条的action,它必须被括号括起来。为数组里每一个元素循环执行动作列表,设置变量为相应元素的索引。

在下面的列子里: 在”for (x in item)”里, x可以任何变量, 保持索引. 请注意,我们没有任何条件来验证多少次条件应该被循环通过。我们真的不在乎数据里有多少项目,作为awk for循环将自动照料它,在for循环退出之前,循环通过所有项目。 下面例子是一个简单for循环遍历数组里所有元素并打印它。

$ cat array-for-loop.awk
BEGIN {
    item[101]="HD Camcorder";
    item[102]="Refrigerator";
    item[103]="MP3 Player";
    item[104]="Tennis Racket";
    item[105]="Laser Printer";
    item[1001]="Tennis Ball";
    item[55]="Laptop";
    item["na"]="Not Available";
    for (x in item)
        print item[x];
}

$ awk -f array-for-loop.awk
Laptop
HD Camcorder
Refrigerator
MP3 Player
Tennis Racket
Laser Printer
Not Available
Tennis Ball