平均文件 M 列的最后 N 行 - 终端

Averaging last N lines of column M of a file - Terminal

我想计算文件 M 列最后 N 行的平均值。我发现最好的解决方案是使用 tail 获取最后 N 行并将其通过管道传输到 awk。对于我的情况,N=200M=2。结果命令将是:

tail -n 200 -f filename.asc | awk '{ total +=  } END { print total/NR }'

但是,我没有得到任何结果。其实终端没有return。我分别尝试了 tail 并且它输出了最后 200 行,但不能与 awk.

结合使用

我也尝试使用 unbuffer(在 tail 之前)作为建议的解决方案之一 this,但仍未解决。请提出解决方案。

当运行 tail-f (跟随模式)时,它永远不会终止; awk 在输入末尾运行 END 块,因此它永远不会终止。删除 -f 它应该可以工作。