Might be a little late, but have you tried awk?
Code:
# awk '/START/,/END/' file
I tried a test with the dates formatted the same as yours, and this is what worked for me:
Code:
awk '/27\/Aug\/2008:11:46:58/,/27\/Aug\/2008:11:48:01/' tmp.log
You have to escape the slashes, but that should be easy to code around. There's probably a more elegant solution, but this sed line should do the job...
Code:
# sed s/\\//\\\\\\//g
So here's a sample script that I wrote just to make sure I wasn't crazy

Note that the "-e" option for echo isn't available (or isn't needed? not sure...) on all flavors of Linux, but i really only used it to get the extra "\n" in there...
Code:
#!/bin/sh
START="$(echo $1|sed s/\\//\\\\\\//g)"
echo -e "Start time variable is: \"$START\""
END="$(echo $2|sed s/\\//\\\\\\//g)"
echo -e "End time variable is: \"$END\"\n"
awk "/$START/,/$END/" tmp.log
And here's the output! Is this what you were looking for?
Code:
$ sh ./date-range.sh "27/Aug/2008:11:47:00" "27/Aug/2008:11:47:14"
Start time variable is: "27\/Aug\/2008:11:47:00"
End time variable is: "27\/Aug\/2008:11:47:14"
27/Aug/2008:11:47:00 [rowlf] The quick brown fox jumped over the lazy dog
27/Aug/2008:11:47:01 [rowlf] The quick brown fox jumped over the lazy dog
27/Aug/2008:11:47:01 [rowlf] The quick brown fox jumped over the lazy dog
27/Aug/2008:11:47:13 [rowlf] The quick brown fox jumped over the lazy dog
27/Aug/2008:11:47:14 [rowlf] The quick brown fox jumped over the lazy dog
I hope this helps!
-Jeo