2017-08-31 72 views
-1

我的目标是根据多个测量系列计算第二列的平均值(第一行K块的平均值,第二行K块的平均值等) )。所有数据都包含在一个文件中,并以空行分隔。该文件具有以下结构:AWK:来自不同测量系列的每行平均值

# 
# 
33 -0.23 
34.5 -0.32 
36 -0.4 
. 
. 
. 

# 
# 
33 -0.25 
34.5 -0.31 
36 -0.38 
. 
. 
. 
+2

你不希望其他用户在这里写的实际代码你,不是吗?请提供您当前的努力并解释您在这里遇到的问题。一个好的起点应该是一个(最小的例子)[https://stackoverflow.com/help/mcve] – Markus

+2

发布预期结果 – RomanPerekhrest

回答

0
$ cat avg.awk 
BEGIN { FS=" " } 
/^#/ { next } 
/^\s*$/ { print col1/nr " " col2/nr; col1=col2=nr=0; next } 
{ col1 += $1; col2 += $2; nr++ } 
END {print col1/nr " " col2/nr } 

与输入:

$ cat test.txt 
# 
# 
33 -0.23 
34.5 -0.32 
36 -0.4 

# 
# 
33 -0.25 
34.5 -0.31 
36 -0.38 

给出的结果是:

$ awk -f avg.awk test.txt 
34.5 -0.316667 
34.5 -0.313333 
+0

像@romanperekhrest(和其他人)说的:让你的问题 - 完成 - 。显示您的预期输出,您认为解决方案应该是什么。这样你会更迅速地得到一个合适的答案。 –

+1

让OP在发布答案之前展示一些努力... –

+0

@FredrikPihl阅读我的评论。看看OP的历史。我试图帮助他,并尝试向他传递下一个问题的消息。 –