80. 删除数组元素
如果要从数组的特定索引中删除元素,请使用 awk delete
语句。 一旦从 awk 数组中删除元素,就无法再获取其值。
语法:
delete arrayname[index];
下面的循环命令删除数组中的所有元素。
for (var in array)
delete array[var]
在 GAWK 中,您可以指定以下单个命令来删除数组中的所有元素。
delete array
另外,如下例所示,item[103]=""
不会删除数组元素。它只是在其中存储空值。
$ cat array-delete.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";
delete item[102];
item[103]="";
delete item[104];
delete item[1001];
delete item["na"];
for (x in item)
print "Index",x,"contains",item[x];
}
$ awk -f array-delete.awk
Index 55 contains Laptop
Index 101 contains HD Camcorder
Index 103 contains
Index 105 contains Laser Printer