awk数组是一种动态数组,它可以存储多个数据项,并且可以按索引或者键值来访问数据项。在awk中,数组不仅可以存储字符串,还可以存储数字。
使用方法
在awk中,数组的定义非常简单,只需要在定义数组时指定数组名,使用等号来赋值即可。如果要定义一个字符串类型的数组,可以这样定义:
arr["key1"]="value1" arr["key2"]="value2" arr["key3"]="value3"
如果要定义一个数字类型的数组,可以这样定义:
arr[1]=10 arr[2]=20 arr[3]=30
定义完数组之后,就可以使用for循环来遍历数组了:
for(i in arr){ print arr[i] }
在awk中,还可以使用length函数来获取数组的长度:
length(arr)
还可以使用delete函数来删除数组中的某个元素:
delete arr[1]
应用示例
下面是一个使用awk数组的应用示例,它的功能是从一个文件中读取一行数据,并将每个字段存储到一个数组中:
#!/usr/bin/awk -f BEGIN { FS="," while(getline < "data.txt"){ for(i=1;i<=NF;i++){ arr[i]=$i } } for(i in arr){ print arr[i] } }
上面的程序中,使用FS变量指定字段分隔符,使用getline函数从data.txt文件中读取一行数据,使用for循环将每个字段存储到arr数组中,使用for循环遍历arr数组,打印出每个字段的值。