• 本页内容

79. 使用 for 循环遍历数组


如果要访问所有数组元素,可以使用 for 循环的特殊实例来遍历数组的所有索引:

语法:

for (var in arrayname)
    actions
  • var 是任意变量名
  • in 是关键字
  • arrayname 是数组的名称。
  • actions 是要执行的 awk 语句的列表。如果要执行多个操作,则必须将其括在大括号内。通过将变量 var 设置为相应元素的索引,循环对数组中的每个元素执行操作列表。

在以下示例中: 在 for (x in item) 中, x 可以是任何保存索引的变量。

注意:我们没有任何条件来验证条件应循环多少次。我们真的不关心数组中有多少项,因为 awk for 循环会自动处理它,并在退出 for 循环之前循环遍历所有项。

下面是一个简单的 for 循环示例,循环遍历 item 数组中的所有元素并打印它。

$ 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