使用awk,如何平均文本文件中两个字符串之间列中的数字

使用awk,如何平均文本文件中两个字符串之间列中的数字,awk,Awk,在字符串之间包含多个以表格分隔的列的文本文件,示例如下 Code 1 (3) 5 10 7 1 1 6 10 9 1 1 7 10 10 1 1 Code 2 (2) 9 11 3 1 3 10 8 5 2 1 Code 3 (1) 12 10 2 1 1 Code 4 (2

在字符串之间包含多个以表格分隔的列的文本文件,示例如下

Code 1 (3)
5     10      7      1      1
6     10      9      1      1
7     10     10      1      1
Code 2 (2)
9     11      3      1      3
10     8      5      2      1
Code 3 (1)
12    10      2      1      1
Code 4 (2)
14     8      1      1      3
15     8      7      5      1
我想平均每个代码块第三列中的数字。下面的示例是输出的样子

8.67
4
2
4
尝试1

返回致命错误:尝试零除

尝试2

返回另一个零除错误

尝试3

返回1个值:0

尝试4

返回:

0
0
0
0.3

我不确定最后一个数字来自哪里,但这是迄今为止最接近的解决方案。我得到的是每个街区的数字,但不是平均数。

你能试试下面的吗

awk '
/^Code/{
  if(value!=0 && value){
    print sum/value
  }
  sum=value=""
  next
}
{
  sum+=$NF;
  value++
}
END{
  if(value!=0 && value){
    print sum/value
  }
}
' Input_file

我通过将$NF更改为$3来为一个专栏工作。谢谢你把我引向正确的方向。
awk -v OFS='\t' '/^Code/ { if (NR > 1) { print s/i; s=0; i=0; } else { s += $3; i += 1; }}' in.txt
awk -v OFS='\t' '/^Code/ {
   if (NR > 1)
      i++
      print sum += $3/i
}
END {
   i++
   print sum += $3/i
}' 
0
0
0
0.3
awk '
/^Code/{
  if(value!=0 && value){
    print sum/value
  }
  sum=value=""
  next
}
{
  sum+=$NF;
  value++
}
END{
  if(value!=0 && value){
    print sum/value
  }
}
' Input_file