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,这下懂了吧,研究下前置自增后置自增是什么意思,仔细看,多思考,我下班了。