In the Korn shell, like in the Bourne shell, quotes and backticks (the archaic form of command substitution) can be unmatched, and you have to help the tokeniser to tell where backticks end. Inside backticks there's another level of backslash processing.

 echo "`date"

works and is the same as:

 echo "`date`"
 echo "$(date)"

And:

 echo `echo "foo`

works and is the same as:

 echo `echo "foo"`
 echo $(echo "foo")

If you do:

 grep "`date +"%b %d"`"

That's taken as a `grep` word and then <code>"\`date +"</code> (unclosed backticks inside double quotes) concatenated with `%b` and then `%d` concatenated with another unclosed backticks inside double-quotes: <code>"\`"</code>. So it's like

 grep "$(date +)"%b %d"$()"

(except that for some reason, while <code>echo "\`\`"</code> or `echo "$()"` would not cause an error, in <code>echo "\`"</code>, the shell will try to execute a command with an empty name (as if you had written `echo "$("")"`).

So here, you need to use backslash to help the parser:

 grep "`date +\"%b %d\"`"

Those backslashes are actually removed. It is `date +"%b %d"` that is being evaluated by the subshell in the command substitution.

Here, since `ksh` accepts unclosed quotes, you could actually also do:

 grep "`date +\"%b %d"

(not that I would advise doing that).

That's also how you can get nested backticks as in:

 echo "`echo \"\`echo \\\"a b\\\"\`\"`"

A good example why nobody hardly ever uses that syntax and use the `$(...)` newer form (introduced by `ksh` in the early 80s):

 echo "$(echo "$(echo "a b")")"

---

Now, for your particular problem, it looks like you want to list `ABC.LOG*` files in the current directory that were last-modified today. For that, you could do:

 touch -t "$(date +%Y%m%d0000)" .start-of-day &&
 find . ! -name . -prune -name 'ABC.LOG.*' \
 -newer .start-of-day -type f -exec ls -lrtd {} + &&
 rm -f .start-of-day