#!/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: vhslow logfile|logdir [day 1-x]"
    exit 20
fi

# cat, replace space to pipe, sort, undo the replace
eval "$DATA" | \
sed ':a;s/^\(\([^"]*"[^"]*"[^"]*\)*[^"]*"[^"]*\) /\1\|\|/;ta' | \
sed ':a;s/^\([^[]*\[[^]]*\) /\1\|\|/;ta' | \
sort -k12 -n -r | \
sed -E 's/\|\|/ /g' | \
less
