如何将列总和的数量计算为一个数?

时间:2019-03-23 07:58:30

标签: awk

我有数据:

  1           82        0.20971070
  2         7200    13659.50038631
  3         7443    15389.87972458

并且我要打印列3和2与列2的和的商。该怎么做?

我尝试过:

print((sum+=$3)/(sum+=$2))

,结果是3个数字-根据行计算。预期的结果是1,972807 ...

编辑

请再问一个问题,我有一个代码:

/Curve No./ { in_f_format=1; next } 
/^[[:space:]]*$/ { in_f_format=0; next } 
{sum2+=$2; sum3+=$3} END{printf("%.6f\n",sum3/sum2)}

如何获取更多文件的结果列。我写了

awk -f program.awk file??.txt

我只有一个结果-file01.txt

1 个答案:

答案 0 :(得分:2)

awk '{sum2+=$2; sum3+=$3} END{print sum3/sum2}' file

输出:

1.97281

awk '{sum2+=$2; sum3+=$3} END{printf("%.20f\n",sum3/sum2)}' file

输出:

1.97280745817249592022