#!/usr/bin/env gawk # # pure awk stats computing from https://unix.stackexchange.com/a/13779 # with stdev # need to be used with "sort -n" BEGIN { c = 0; sum = 0; } $1 ~ /^(\-)?[0-9]*(\.[0-9]*)?$/ { a[c++] = $1; sum += $1; sumsq += $1^2; } END { ave = sum / c; stdev = sqrt((sumsq-sum^2/NR)/NR) if( (c % 2) == 1 ) { median = a[ int(c/2) ]; } else { median = ( a[c/2] + a[c/2-1] ) / 2; } OFS="\t"; print sum, c, ave, median, stdev, a[0], a[c-1]; }