Suppose u have a file
2
4
6
11
22
13
23
43
12
4
33
31
45
then u want a output like
0-10 4
10-20 3
20-30 2
30-40 2
40-50 2
nawk -f cdcf.awk myFile
cdcf.awk:
{
a[int($1/10)]++
}
END {
for (i in a)
printf("[%d-%d] %d\n", i*10, i*10+10, a)
}
A small addition to sort the output:
{
a[int($1 / 10)]++
if (int($1 / 10) > c) {
c = int($1 / 10)
}
}
END {
for (i = 0; i <= c; i++) {
if (i in a) {
printf "[%d-%d] %d\n", i * 10, i * 10 + 10, a
}
}
}