awk '{for(;i++
问题描述:
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=2
abc=1
cd=2
df=1
明白了吧初学awk的骚年?
很满意你的回答,但是有一个地方没明白。最后打印a[i] 为什么就变成了出现的次数了呢数组a,以ababccddfab cd为下标,即为:a[ab],a[abc] 。。。,a[ab]++——>得出a[ab]=1,因为初始化为0,这下懂了吧,研究下前置自增后置自增是什么意思,仔细看,多思考,我下班了。