awk命令结合数组实例解疑
-------------------------------------------
cat test_array>
a 2
b 3
c 6
a 8
d 9
---------------------------------------
awk '{a[$1]+=$2;b[$1]++} END { for(i in a) print b[i],ia[i]}' test_array
结果如下:
2 a 10
1 b 3
1 c 6
1 d 9
---------------------疑问在于{a[$1]+=$2;b[$1]++} 是如何执行的想不通,这两条之间是因果关系吗,还有就是awk如何读文件,并执行这两条命令的;
-----------------------------------------------------令附加一个问题:awk是如何根据第一列去重的
cat filename | awk '!a[$1]++'
-------------------------------------------------------