First you need to change your log format so the virtual host is recorded in each log entry. Something like the following will get you a Combined/Expanded format with the bonus of %v which is the virtual host name:
LogFormat "%h %v %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"" LogServerName
Then when you must tell apache to use this log format. Something like the following can be added globally or to the individual virtual hosts (easier globally). In fact I usually have the above line and this one in a single file called /etc/httpd/conf.d/access_logging.conf:
CustomLog /var/log/httpd/global_access.log LogServerName
Once that is done, you will at least be able to key off of different Virtual Hosts. Then you can use something like petit or uniq to do the following.
cat /var/log/httpd/global_access.log | awk '{print $2}' | petit --hash
Also, you could use racecar to do bandwidth analysis with something like this. It might be a bit slow on large files, but it is quick and dirty.
for i in `cat /var/log/httpd/global_access.log | awk '{print $2}'`; do cat /var/log/httpd/global_access.log | grep $i | racecar; done
Link: http://crunchtools.com/software/petit/
Link: http://crunchtools.com/software/racecar/