awk集計

http://akiniwa.hatenablog.jp/entry/2014/04/08/220430

vim a.txt

20200601 AAA 10
20200602 AAA 20
20200603 AAA 30
20200604 BBB 100
20200605 BBB 120
20200606 CCC 10
20200607 CCC 12
20200608 CCC 12
20200609 DDD 300


vim a.awk

{
sum[$2]+=$3
count[$2]+=1
if ( min[$2]=="" || $3 < min[$2]) { min[$2]=$3 }
if ( $3 > max[$2] ) { max[$2]=$3 }
};
END {
for (key in sum) {
print key, sum[key], count[key], sum[key]/count[key], min[key], max[key]
}
}

awk -f a.awk a.txt | sort