linux - 如何使用awk计算输入的平均值?

标签 linux bash awk

我有一个包含许多值的文件:

10 ; 20 ; 30 ; 40 ;
20 ; 11 ; 15 ; 70 ;
60 ; 50 ; 80 ; 84 ;

如何使用 awk 计算 COLUMNS 中的平均值:

所需的输出:

30;27;41.6;64.66;

欢迎任何解决方案,包括 bash 解决方案。

最佳答案

在 awk 中,您可以准确地翻译您所要求的内容:

 awk -F\; 'BEGIN{
     ORS=";"
 }
 {
     for (i=1;i<=NF;++i) {
         sum[i] += $i
     }
 }
 END {
     for (i=1;i<=NF;++i) {
         print sum[i]/NR
     }
     print "\n"
 }'

关于linux - 如何使用awk计算输入的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30870884/

相关文章:

linux - 如何在文件夹层次结构中找到所有不同的贪婪文件后缀?

linux - Makefile目标颜色输出

linux - 我不能再在 Eclipse 的编辑器中键入 "("(左括号)

macos - Bash 命令替换 stdout+stderr 重定向

linux - 删除文件中一行的开头

awk - 获取每行平均值

linux - 将多个 header 信息字段附加到文件,直到找到下一个 header

linux - 使用awk提取数据并计数

regex - 0个或多个空格的grep正则表达式

Bash 脚本问题