Counting specific words from the log

Hi,

I need a shell script which can provide details from error logs like this

Aug 23 21:19:41 red mountd[5323]: authenticated mount request from bl0110.bang.m
pc.local:651 for /disk1/jobs (/disk1)
Aug 23 08:49:52 red dhcpd: DHCPDISCOVER from 00:25:90:2b:cd:7c via eth0: unknown client
Aug 24 15:49:52 red mountd[5323]: authenticated unmount request from bk0006.bang.mpc.local:726 for /disk1/jobs (/disk1)
Aug 24 15:49:52 red mountd[5323]: authenticated mount request from bk0006.bang.mpc.local:731 for /disk1/jobs (/disk1)
Aug 24 15:49:55 red dhcpd: DHCPDISCOVER from 00:25:90:2b:cd:7c via eth0: unknown client
Aug 24 15:49:55 red mountd[5323]: authenticated unmount request from pinapple.bang.mpc.local:958 for /disk1/jobs (/disk1)
Aug 24 15:49:58 red dhcpd: DHCPDISCOVER from 00:25:90:2b:cd:7c via eth0: unknown client
Aug 24 15:50:01 red mountd[5323]: authenticated mount request from cochin.bang.mpc.local:804 for /disk1/jobs (/disk1)

needs to get output like this

it should give the count of 'unknown client' error happend on
every day with date

Date            no. errors    
Aug 24        3
Aug 23        2

Arthur

#!/bin/bash
grep "unknown client" inputfile | awk ' { print $1,$2 } ' | uniq > tempfile1
grep "unknown client" inputfile > tempfile2
while read i
do
        echo "$i : `grep "$i" tempfile2 |  wc -l`"
done<tempfile1
rm tempfile1 tempfile2

Through awk

$># Below output is from the given sample input file
$>awk '/unknown client/{++a[$1FS$2]}END{for(i in a) print i,a}' inputfile
Aug 23 1 
Aug 24 2