Não grep -r é uma extensão GNU (agora suportada por algumas outras implementações, mas não padrão). Use find :
find . -type f -exec grep pattern /dev/null {} +
O /dev/null é para garantir que grep sempre imprima o nome do arquivo quando encontrar uma correspondência.