作业帮 > 综合 > 作业

awk '{for(;i++

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 17:27:00
awk '{for(;i++
首先awk是按行处理,告诉你一行是啥,后面的都是这么处理的.for(;i++<NF;),循环次数,NF即该行的字段个数;a[$i]++,数组的形式(以字段为下标的数组),表示一个数值,因为有++for(i in a),这个不用多说了吧,循环的一种格式,i为变量,a为数组名print i" = "a[i],就是输出:数组里面的下表即urfile每行字段名称,该字段在该行出现的次数举个栗子:urfile仅仅一行,为:ab  abc  cd  df  ab cd,则执行这条awk语句的结果为:ab=2abc=1cd=2df=1明白了吧初学awk的骚年?
再问: 很满意你的回答,但是有一个地方没明白。最后打印a[i] 为什么就变成了出现的次数了呢
再答: 数组a,以ab abc cd df ab cd为下标,即为:a[ab],a[abc] 。。。,a[ab]++——>得出a[ab]=1,因为初始化为0,这下懂了吧,研究下前置自增后置自增是什么意思,仔细看,多思考,我下班了。