awk 数组

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

你可能感兴趣的:(如果你也面试)