#!/bin/bash
# count-maildir-msg.sh - count email messages in Maildir format
# at least as Dovecot saves them...
# Dale Bewley
#
# based on: http://www.mostlygeek.com/node/11 by phrax

echo "user,<2k,<4k,<8k,<16k,<32k,<64k,>64k,Total"
for user in /home/*; do
    echo -n `basename $user`,
    ls -lRAaF $user/Maildir | grep '^-' | grep  'mbox:\|newmail:' | \
    awk '{ \
			num+=1; \
			if ($5 <= 2048) c2k+=1; \
			else if ($5 <= 4096) c4k+=1; \
			else if ($5 <= 8192) c8k+=1; \
			else if ($5 <= 16384) c16k+=1; \
			else if ($5 <= 32768) c32k+=1; \
			else if ($5 <= 65535) c64k+=1; \
			else cBig+=1; \
			endif; \
	} END { \
			printf ("%d,%d,%d,%d,%d,%d,%d,%d\n",c2k,c4k,c8k, \
				  c16k,c32k,c64k,cBig,num) \
    }'
done

