#!/bin/bash

LOG=$1
DAY=$2

if [ -f "$LOG" ]; then
	DATA="zgrep '' $LOG"
elif [ -d "$LOG" ]; then
	if [ "$DAY" != "" ];then
		SUFF=${DAY}.gz
	fi
	cd $LOG
	DATA="find -name *access.log$SUFF -exec zgrep -H '' {} \;"
else
    echo "Usage: vhsum logfile|logdir [day 1-x]"
    exit 20
fi

ROWS=`eval "$DATA" |wc -l`

# cat, replace space to pipe, sort, undo the replace
eval "$DATA" | \
sed ':a;s/^\(\([^"]*"[^"]*"[^"]*\)*[^"]*"[^"]*\) /\1\|\|/;ta' | \
sed ':a;s/^\([^[]*\[[^]]*\) /\1\|\|/;ta' | \
awk '{sum+=$12} END {printf "%.0f usec", sum; printf " (= %.0f sec)", sum/1000000 ; printf " (= %.0f min)", sum/60000000 ; printf " \n'$ROWS' hits, %.0f sec/hit\n", sum/1000000/'$ROWS'}'
