I'd suggest working with perl for this as it's rather good at parsing files and creating nicely formatted reports.
Here's some pseudo-code to help get you going:
Code:
#!/usr/local/bin/do-what-i-want-not-what-i-write
print "Start date to search from: "
read from STDIN to $datestart
print "End date to search up until: "
read from STDIN to $dateend
print "File to search on: "
read from STDIN to $file
$hitcount=0
new array($iplist)
while (read $line from $file) {
split $line into ($ip,$date)
if ($date >= $datestart && $date <= $dateend) {
$iplist[$ip]++
$hitcount++
}
}
$hitcount_unique=arraysize($iplist)
print_pretty_report($hitcount,$hitcount_unique)