gawk '{ n++; x0+=$1; y0+=$2; x[n] = $1; y[n] = $2 }END{ if ( n == 0 ) { printf( "Error in xycorr. Number of lines %i\n", n ); exit } x0 /= n; y0 /= n; for ( i=1; i<=n; i++ ) { t += ( x[i] - x0 ) * ( y[i] - y0 ); nx += ( x[i] - x0 ) * ( x[i] - x0 ); ny += ( y[i] - y0 ) * ( y[i] - y0 ); } if ( nx * ny == 0.0 ) { c = 0.0 } else { c = t/sqrt(nx*ny); } printf( "Pearson coefficient for N= %i data: %8.5f\n", n, c ); }'