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

时间:2018-04-17 15:13:15

标签: awk terminal tail

我想计算文件M列的最后N行的平均值。我发现最好的解决方案是使用tail获取最后N行并将其传递给awk。就我而言,N=200M=2。结果命令为:

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

但是,我没有得到任何结果。实际上,终端不会返回。我分别尝试了tail,它输出的最后200行很好,但与awk结合使用不起作用。

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

1 个答案:

答案 0 :(得分:2)

使用tail(跟随模式)运行-f时,它永远不会终止;并且awk在输入结束时运行END块,因此它永远不会终止。删除-f,它应该可以。