Firstly, man grep
you don't need to "cat filename | grep pattern" you
Secondly
just "grep pattern filename"
you can use egrep instead of grep -E
Thirdly, it's really "pattern matching" grep is just a handy tool.
O'Reilly publish an excellent book "sed and awk"
with both grep and awk the pattern match for "beginning of line" is the carat ^
cut is for learners, you can do the whole thing in 1 awk line
if you set the pattern as a variable, it will work when the date changes (Korn Shell)
day_of_month=$(date +"%a %b %d")
then try the pattern match
awk '/^'"$day_of_month"'/' filename
the day_of_month variable resolves to the output from the command inside the (Korn) Shell executor i.e. date +"%a %b %d"
the double quotes keep the spaces in the patten
the awk command uses the two forward slashes as the delimiter for the search, the carat is for the beginning of the line, and then we have a single quote, a double quote so we don't lose our spaces.
Play, learn. Do some reading.
I'm forever grateful to this guy
http://www.student.northpark.edu/pemente/awk/awk1l ine.txt

You can try something like grep -E ^$(date) alog.txt (more performant
than cat and then grep). Haven't tested it, but just play along with
that, maybe you can sed the date command to get a more exact match if
having some problems.
Hope it helps
Regards,

Copyright 1998-2015 Ziff Davis, LLC (Toolbox.com). All rights reserved. All product names are trademarks of their respective companies. Toolbox.com is not
affiliated with or endorsed by any company listed at this site.