AWK具有关联数组,您可以使用字符串或数字作为数组索引。
array_name[index]=value
其中 array_name 是数组的名称, index 是数组的索引,而 value 是分配给数组元素的任何值。
创建数组
为了获得更多关于数组的见解,让我们创建和访问数组的元素。
[Learnfk]$awk 'BEGIN { fruits["mango"]="yellow"; fruits["orange"]="orange" print fruits["orange"] "\n" fruits["mango"] }'
在执行此代码时,您将获得以下输出-
orange yellow
在上面的示例中,我们将数组声明为 fruits ,其索引是水果名称,值是水果的颜色,要访问数组元素,我们使用 array_name[index]格式。
删除元素
对于插入,我们使用了赋值运算符。同样,我们可以使用 delete 语句从数组中删除一个元素。 delete语句的语法如下-
delete array_name[index]
下面的示例删除元素 orange 。因此,该命令不显示任何输出。
[Learnfk]$awk 'BEGIN { fruits["mango"]="yellow"; fruits["orange"]="orange"; delete fruits["orange"]; print fruits["orange"] }'
多维数组
AWK仅支持一维数组。但是您可以使用一维数组本身轻松地模拟多维数组。
如,下面给出的是一个3x3三维数组-
100 200 300 400 500 600 700 800 900
在上面的示例中,array [0] [0]存储100,array [0] [1]存储200,依此类推。要将100存储在数组位置[0] [0]中,我们可以使用以下语法-
array["0,0"]=100
尽管我们给出了 0,0 作为索引,但它们不是两个索引。实际上,它只是一个字符串 0,0 的索引。
以下示例模拟了二维数组-
[Learnfk]$awk 'BEGIN { array["0,0"]=100; array["0,1"]=200; array["0,2"]=300; array["1,0"]=400; array["1,1"]=500; array["1,2"]=600; # print array elements print "array[0,0]=" array["0,0"]; print "array[0,1]=" array["0,1"]; print "array[0,2]=" array["0,2"]; print "array[1,0]=" array["1,0"]; print "array[1,1]=" array["1,1"]; print "array[1,2]=" array["1,2"]; }'
在执行此代码时,您将获得以下输出-
array[0,0]=100 array[0,1]=200 array[0,2]=300 array[1,0]=400 array[1,1]=500 array[1,2]=600
您还可以对数组执行各种操作,如对数组的元素/索引进行排序。为此,您可以使用 assort 和 asorti 函数
参考链接
https://www.learnfk.com/awk/awk-arrays.html
标签:100,无涯,print,AWK,数组,fruits,orange,array,Array From: https://blog.51cto.com/u_14033984/7968678