Newer
Older
BEGIN{
sum = 0
count = 0
}
function compute()
{
sumsq = 0
avg = sum / count
for( x = 0; x < count; x++){
sumsq += ((array[x]-(sum/(count)))^2)
}
print oldKey " " avg " " sqrt(sumsq/(count))
}
{
key=$1"_"$2"_"$3
keyPrint=$1" "$2" "$3
if(key == S){
sum += $4
array[count] = $4
count = count + 1
oldKey=keyPrint
} else {
compute()
count = 0
sum = $4
delete array
array[count] = $4
count = count + 1
S = key
}
}
END{
compute()
}