有命令:
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