awk中的数组

数组的基本用法

数组是一个由若干个同类型变量组成的集合,引用这些变量时可用同一个名字。数组均用连续的存储单元组成,最低地址对应数组的第一个元素,最高地址对应于最后一个元素

bash shell只支持一个数组,数组从0开始标号,以array[x]表示数组元素,那么,array[0]就表示array数组的第一个元素,array[1]表示array数组的第2个元素,array[x]表示array数组的第x+1个元素

声明数组

格式:数组名=(参数1 参数2…)

多个ip地址存入数组中

[root@kafka3 ~]# singer=("kun" kunkun heizi)
[root@kafka3 ~]# echo ${singer[0]}
kun
[root@kafka3 ~]# echo ${singer[1]}
kunkun
[root@kafka3 ~]# echo ${singer[2]}
heizi
[root@kafka3 ~]# echo ${singer[3]}

[root@kafka3 ~]# singer[3]=nong
[root@kafka3 ~]# echo ${singer[3]}
nong
[root@kafka3 ~]# echo ${singer[*]}
kun kunkun heizi nong
[root@kafka3 ~]# echo ${#singer[*]}
4
[root@kafka3 ~]# unset singer[2]
[root@kafka3 ~]# echo ${#singer[*]}
3
[root@kafka3 ~]# echo ${singer[*]}
kun kunkun nong
[root@kafka3 ~]# 

数组使用for循环

# 定义一个数组
awk 'BEGIN {arr["apple"]=1; arr["banana"]=2; arr["orange"]=3;}
# 遍历数组
awk 'BEGIN {arr["apple"]=1; arr["banana"]=2; arr["orange"]=3;
            for (fruit in arr) {
                print fruit, arr[fruit];
            }
        }'

上面的示例中,首先定义了一个名为arr的数组,并在数组中存储了三个元素。然后使用for循环遍历数组arr中的所有元素,将每个元素的键和值都输出到屏幕上。在循环体内部,使用变量fruit来访问当前遍历到的数组元素的键名,使用arr[fruit]来访问当前元素的值。

关联数组

在awk中,关联数组(associative array)是一种特殊的数组,它的下标可以是字符串类型。关联数组的使用方式与普通数组类似,可以通过下标来访问和修改数组元素的值。与普通数组不同的是,关联数组的下标可以是任意字符串,而不仅仅是整数类型的下标。

[root@kafka3 nginx]# declare -A name
[root@kafka3 nginx]# name=([user]=xyz [pwd]=123 [age]=18)
[root@kafka3 nginx]# echo ${name[@]}
123 xyz 18
[root@kafka3 nginx]# echo ${!name[@]}
pwd user age
[root@kafka3 nginx]# echo ${name[user]}
xyz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值