awk

Delete Array Element

删除数组元素

如果你想移除元素从一个数组某个特定索引,使用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