--exclude-dir
não substitui a necessidade de listar arquivos na linha de comando. Você está "pendurado" porque grep
está aguardando a entrada padrão.
grep -l -e 'foo' --exclude-dir=".svn" *
Considere usar ack , que exclui .svn
e pastas semelhantes (e tem muitos outros recursos) por padrão.