Linux 使用AWK查找不包括某些行的列的平均值

Linux 使用AWK查找不包括某些行的列的平均值,linux,bash,awk,scripting,Linux,Bash,Awk,Scripting,我想计算第五列(最后一列)的平均值,不包括值为“9999”的行。非常感谢您的反馈 通过awk $ awk '$5!="99999"{sum+=$5}END{print sum}' file 227.5 说明: 5美元=“99999”如果第5列不包含99999,则执行此操作 {sum+=$5}将第5列的值添加到变量sum。同样,当awk看到满足给定条件的记录时,它会不断地添加第5列的值 最后在末尾打印变量sum 一般来说 $ awk '$5!="99999"{sum+=$5;cnt++}EN

我想计算第五列(最后一列)的平均值,不包括值为“9999”的行。非常感谢您的反馈

通过awk

$ awk '$5!="99999"{sum+=$5}END{print sum}' file
227.5
说明:

  • 5美元=“99999”
    如果第5列不包含
    99999
    ,则执行此操作

  • {sum+=$5}
    将第5列的值添加到变量
    sum
    。同样,当awk看到满足给定条件的记录时,它会不断地添加第5列的值

  • 最后在末尾打印变量
    sum

一般来说

$ awk '$5!="99999"{sum+=$5;cnt++}END{print (cnt?sum/cnt:"NaN")}' file
12.6389

由于您将[awk]用作标记,因此您可能对它有一些了解。发布您的尝试,以便我们可以帮助您完成问题。
$ awk '$5!="99999"{sum+=$5;cnt++}END{print (cnt?sum/cnt:"NaN")}' file
12.6389