0
RAM,80  
GAM,20  
DAM,30  
RAM,40  
DAM,20  
GAM,30 

如何使用 awk 显示 RAM、GAM 和 DAM 的平均值?

4

1 回答 1

2

像这样,例如:

$ awk -F, '{a[$1]+=$2; ++b[$1]} END {for (i in a) print i, a[i]/b[i], "("b[i]" values)"}' file
DAM 25 (2 values)
GAM 25 (2 values)
RAM 60 (2 values)

解释

{a[$1]+=$2; ++b[$1]}

  • 将 z 值(第 2 列)存储在数组中a
  • 存储数组中每个 x 值(第一列)的元素数量b

END {for (i in a) print i, a[i]/b[i]}'

  • 打印遍历存储在数组中的值的结果。
于 2013-10-14T14:19:36.123 回答