AWK数组怎么用
这篇文章主要为大家展示了“AWK数组怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“AWK数组怎么用”这篇文章吧。
AWK 可以使用关联数组这种数据结构,索引可以是数字或字符串,AWK关联数 组也不需要提前声明其大小,因为它在运行时可以自动的增大或减小。
array_name[index]=value
接下来看一下如何创建数组以及如何访问数组元素:
$awk'BEGIN{sites["runoob"]="www.runoob.com";sites["google"]="www.google.com"printsites["runoob"]"\n"sites["google"]}'
执行以上命令,输出结果为:
www.runoob.comwww.google.com
在上面的例子中,我们定义了一个站点(sites)数组,该数组的索引为网站英文简称,值为网站访问地址。可以使用如下格式访问数组元素:
array_name[index]删除数组元素
我们可以使用 delete 语句来删除数组元素,语法格式如下:
deletearray_name[index
下面的例子中,数组中的 google 元素被删除(删除命令没有输出):
$awk'BEGIN{sites["runoob"]="www.runoob.com";sites["google"]="www.google.com"deletesites["google"];printfruits["google"]}'多维数组
AWK 本身不支持多维数组,不过我们可以很容易地使用一维数组模拟实现多维数组。
如下示例为一个 3×3 的三维数组:
100200300400500600700800900
以上实例中,array0 存储 100,array0 存储 200 ,依次类推。为了在 array0 处存储 100, 我们可以使用如下语法: array[“0,0”] = 100。
我们使用了 0,0 作为索引,但是这并不是两个索引值。事实上,它是一个字符串索引 0,0。
下面是模拟二维数组的例子:
$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[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]=100array[0,1]=200array[0,2]=300array[1,0]=400array[1,1]=500array[1,2]=600
在数组上可以执行很多操作,比如,使用 asort 完成数组元素的排序,或者使用 asorti 实现数组索引的排序等等。
以上是“AWK数组怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。