1#!/sw/bin/gawk -f 2# 3# Compute average and standard deviation for a list of values. 4 5BEGIN{ 6 i=0; 7} 8 9{ 10 if($0!="") 11 { 12 array[i++] = $0; 13 } 14 else 15 { 16 print("Ignoring empty line"); 17 } 18} 19 20 21 22END{ 23 total = i; 24 sum = 0; 25 for(i=0; i<total; i++) 26 { 27 sum+=array[i]; 28 } 29 avg = sum/total; 30 31 var = 0; 32 for(i=0; i<total; i++) 33 { 34 var += (array[i]-avg)*(array[i]-avg); 35 } 36 var = var/(total-1); 37 dev = sqrt(var); 38 39 printf("Sum over %4d elements: %f\n", total, sum); 40 printf("Average : %f +/- %f\n", avg, dev); 41} 42