23:21,74.285714,199924
23:21,80.000000,627377
23:21,82.857143,499796
23:22,85.714286,670676
23:22,87.428571,149860
23:22,88.000000,301272
我正在使用的输入数据集如下所示。
我想做的是按每分钟(第一个字段)合并数据。应计算第二列值的平均值,并计算第三字段值的总和。
所以我的输出应该是这样的:
23:21,78,127377
23:22,87,105678
上面的值是样本,并不是真正的求和或平均,但这就是要点。我现在正在尝试使用 awk 来完成此操作,有更好的选择吗?
最佳答案
你可以尝试 awk:
awk -F, '{a[$1]+=$2; b[$1]+=$3; c[$1]++}
END {for (i in a) print i, int(a[i]/c[i]), b[i]}' OFS=, file
23:21,79,1327097
23:22,87,1121808
关于bash - 根据 bash 中的字段值合并列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20966266/