awk 数组

来源:互联网 发布:js删除数组中一个元素 编辑:程序博客网 时间:2024/06/05 14:09

有命令:
awk’BEGIN { Arr[2,79]=78; ____ }’
为了让执行的结果是78,应该填()语句

A. print Arr[“2\03479”]
B. print Arr[2,79]
C. idx=2 SUBSEP 79;print Arr[idx]
D. print Arr[ 2, 79]

答案是ABCD全对。 awk数组,字符串为索引。
SUBSEP为数组下标的分隔符,预设值为“\034”,awk中的数组只接受字串当它的数组下标,awk在接受Arr[2,79]之前,就已将其下标转成字串“2\03479”,之后变便以Arr[“2\03479”]代替Arr[2,79]。故A,B,C,D全正确

测试

[root@  ~]# awk 'BEGIN { Arr[2,79]=78; print Arr[  2,79]} '78
0 0