Meu palpite é que grep
da máquina problemática não suporta -o.
Se esse for o caso, sua linha de comando gerará uma mensagem de erro sempre find
execs grep
. No entanto, com o erro padrão redirecionado para / dev / null, os gritos caem em ouvidos surdos.
wc
não recebe um único byte, resultando em uma contagem de linha de 0, porque grep
está saindo imediatamente.
Tente executar o pipeline sem um redirecionamento stderr ou com o redirecionamento para um arquivo de log. Se eu estiver correto, você deverá ver uma mensagem de erro por arquivo encontrada por find
.
Caso você ache útil, veja uma alternativa que não usa grep
:
find . -type f -exec cat {} \; | tr -cd a | wc -m
Se o seu find
suportar a alternativa mais eficiente +
exec:
find . -type f -exec cat {} + | tr -cd a | wc -m