(1)面试题
明确:需要先知道awk中的'二维数组',awk中'没有'二维数组,所以只能使用一维数组来'模拟'!
SUBSEP used to build multiple array subscripts, initially = "\034".
SUBSEP'等价'-->'\034','不可打印'
SUBSEP为'数组下标的分隔符','预设值'为“\034”,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] -->"与A"相比'逗号多个空格'
解决: 'ABCD'
分析
awk数组,字符串'为索引'
SUBSEP为数组下标的分隔符,预设值为"\034",awk中的数组只接受字串当它的数组下标'-->'
awk在接受Arr[2,79]之前,就已将其下标转成字串"2\03479",之后变便以Arr["2\03479"]代替Arr[2,79]。故A,B,C,D全正确