我如何获得所有差异,而不只是一个?我想使用第三列中每个项目的计算结果。困境在于,如果我删除END
,我可以打印$3
但不能ave
。如果我离开END
我有ave
但不是所有差异。
awk '{sum+=$3} END {ave=sum/NR} END {print $3-ave}' coriolis_data
-0.00964 // I want to see the rest differences, how?
coriolis_data
.105 0.005 0.9766 0.0001 0.595 0.005
.095 0.005 0.9963 0.0001 0.595 0.005
.115 0.005 0.9687 0.0001 0.595 0.005
.105 0.005 0.9693 0.0001 0.595 0.005
.095 0.005 0.9798 0.0001 0.595 0.005
.105 0.005 0.9798 0.0001 0.595 0.005
.095 0.005 0.9711 0.0001 0.595 0.005
.110 0.005 0.9640 0.0001 0.595 0.005
.105 0.005 0.9704 0.0001 0.595 0.005
.090 0.005 0.9644 0.0001 0.595 0.005
答案 0 :(得分:3)
然后您创建另一个数组来存储$3
值。并且只使用1个END
块
awk '{sum+=$3;s3[NR]=$3} END {ave=sum/NR; for(i=1;i<=NR;i++)print s3[i]-ave}' coriolis_data