如何使用awk计算每天记录的平均值?

如何使用awk计算每天记录的平均值?,awk,Awk,我需要分别打印每一天(2美元)的平均记录(1美元) 数据如下: 400 1 420 2 390 3 370 1 400 2 410 3 415 4 450 1 430 2 420 3 415 4 输出文件外观: 406.67 1 416.67 2 406.67 3 415 4 我尝试过这个代码,但它给我错误信息 awk '{sum1[$2] += $1; count1[$2]++}; END{ for (id in sum1)

我需要分别打印每一天(2美元)的平均记录(1美元)

数据如下:

400 1
420 2
390 3
370 1
400 2
410 3
415 4
450 1
430 2
420 3
415 4
输出文件外观:

406.67 1
416.67 2
406.67 3
415    4   
我尝试过这个代码,但它给我错误信息

awk '{sum1[$2] += $1; count1[$2]++}; END{ for (id in sum1)                                                              { print id, sum1[id]/coun1[id] } }' file.txt

@Alula-如果您不担心输出的顺序(意味着它应该与输入文件相同),那么下面的内容可能会对您有所帮助

awk '{A[$2]=A[$2]+$1;B[$2]++} END{for(i in A){printf("%.2f,%d\n", A[i]/B[i],i)}}' Input_file
或者,如果您有与输入文件相同的数据,并且需要按照输入文件的相同排序顺序,那么您可以尝试以下操作

awk '{A[$2]=A[$2]+$1;B[$2]++} END{for(i in A){printf("%.2f,%d\n", A[i]/B[i],i)}}'  Input_file | sort -t, -k2  

我希望这对你有帮助。

@Alula你很接近。。。仅仅是一个输入错误
coun1
就应该是
count1
。。。顺序也是颠倒的,但这很容易修正。。。