BEGIN { OFS=FS ="," All="__all"; } {sub(/#.*/,""); gsub(/[ \t]*/,"") } # no comments or white space /^$/ {next} /@attribute/ { Nump[++Attr]= $0 ~ /numeric|real|integer/ } /@/ { next; } { store() } END { for(I in Nump) print (Nump[Attr] ? relativeSd(I) : relativeEnd(I)) } function keep( i,c) { Total++; c=$NF; Classes[c]++; for(i=1;i