需求简单描述如下:
a文件内容:
a a a 12
a b b 10
a c c 8
a c f 5
b文件内容:
a a a 10
a b b 8
a c d 3
处理后的内容,即前面三列相同的,第四列进行累加,得到如下:
a a a 22
a b b 18
a c c 8
a c f 5
a c d 3
PS:每个文件都是1000W行以上,代码如下:
awk '{n=$NF;NF--;a[$0]+=n}END{for(i in a)print i,a[i]}'
记录数:39036922, 文件大小:1.56G ,最高消耗内存:8.2G,执行时间:169秒