awk杂谈之数组习题

(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全正确

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值