8.0 数据结构:关联数组
没有输出结果。
[jerry]$ awk 'BEGIN { fruits[“mango”] = “yellow”; fruits[“orange”] = “orange”; \
删除 fruits[“orange”];打印 fruits[“orange”] }'
8.3. 模拟多维阵列
虽然 AWK 本身只支持一维数组,但可以轻松模拟多维数组。这可以通过将多个索引连接成一个字符串键来实现。默认情况下,AWK 使用内置的 SUBSEP 变量来连接索引,但也可以使用任何字符(例如逗号)。
例如,要模拟 array[0][0] = 100,可以使用语法 array[“0,0”] = 100。
以下脚本模拟一个二维数组并打印其元素:
[jerry]$ 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] = 100
array[0,1] = 200
array[0,2] = 300
array[1,0] = 400
array[1,1] = 500
array[1,2] = 600
操作数组和变量中的数据通常需要结构化的逻辑,而 AWK 的控制流语句提供了这种逻辑。