grep的正则表达式有关问题

grep的正则表达式问题在a.txt中有以下文本:09-10-198710-10-2009foodBob问题1:执行命令 cat a.txt | grep

grep的正则表达式问题
在a.txt中有以下文本:
09-10-1987
10-10-2009
food 
Bob

问题1:
执行命令 cat a.txt | grep o{2}
为什么不能显示出food呢?
问题2:
执行命令 cat a.txt }|grep [0-9]{2}-[0-9]{2}-[0-9]{4}
为什么显示不出09-10-1987,10-10-2009呢?
我查阅了正则表达式的讲解说明,我理解的就是这样写呢,大家帮忙看一下!

[解决办法]
1, {}是POSIX扩展正则,请使用egrep。

2,同1,请使用扩展正则。