Parece que você atingiu um arquivo com um nome engraçado, e o xargs o está tratando como dois arquivos. A melhor abordagem é refazer sua descoberta para lidar com todos os nomes com segurança:
find . -type f -name '*.sql' -exec grep -i 'texttolookfor' '{}' +
Isso usa a sintaxe de localizar --exec COMMAND +
em vez de xargs
. Você também pode usar -print0
/ xargs -0
(se isso funciona no OS X, não tenho certeza), mas não há realmente um motivo para isso, a menos que você precise de outros recursos xargs.
Finalmente, se o OS X grep o suportar, você pode usar --
para indicar o final das opções - antes do '{}'
, acima - embora isso não devesse ser necessário com o find (já que os arquivos encontrados sempre começam com ./
)