tags:

views:

25

answers:

1

How can I get all differences, not just one? I want to use the calculated result for each item in the third column. The dilemma is that if I remove END I can print $3 but cannot have ave. If I leave END I have ave but not all differences.

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
+3  A: 

then you create another array to store $3 values. And use only 1 END block

awk '{sum+=$3;s3[NR]=$3} END {ave=sum/NR; for(i=1;i<=NR;i++)print s3[i]-ave}' coriolis_data
ghostdog74