BEGIN { split("",Num,""); #array where we store the numbers Inf= 2**32; #the largest number we can process Max = -1*Inf; #max count seen in any bucket #initialized to the smallest number Here; #the key of the current bucket Empty=1 #false if some data seen } NR==1 { if (Collect=="NF") Collect=NF } { Empty = 0; Here = Round ? round($Collect/Round)*Round : $Collect; #printf("Here: %d\n", Here); Num[Here]++; Max = (Num[Here]>Max) ? Num[Here] : Max; #printf("Max: %d\n", Max); if (DispEmpty==1) for (i=0; i*Round