AWK - 数组(Array)

AWK - 数组(Array) 首页 / Awk入门教程 / AWK - 数组(Array)

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]中,我们可以使用以下语法-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arrays.html

来源:LearnFk无涯教程网

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

您还可以对数组执行各种操作,如对数组的元素/索引进行排序。为此,您可以使用 assortasorti 函数

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

AI技术内参 -〔洪亮劼〕

深入剖析Kubernetes -〔张磊〕

正则表达式入门课 -〔涂伟忠〕

Django快速开发实战 -〔吕召刚〕

大厂晋升指南 -〔李运华〕

手把手带你写一个Web框架 -〔叶剑峰〕

超级访谈:对话毕玄 -〔毕玄〕

快速上手C++数据结构与算法 -〔王健伟〕

结构写作力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)