CentOS / Fedora, assumindo assim o GNU grep, que tem o seguinte interruptor :
-H, --with-filename
Print the file name for each match. This is the default
when there is more than one file to search.
Em outras palavras, a diferença de comportamento pode ser justamente que, no primeiro caso, localizar captura mais de um arquivo, fazendo com que grep
liste os nomes dos arquivos. Se corresponder apenas a um arquivo no segundo caso, os nomes estarão faltando.
Então, adicione -H
manualmente para forçá-lo.