xargs
só pode passar ARG_MAX bytes de argumentos para wc
.
No meu Mac, o ARG_MAX é menor que os nomes completos dos arquivos e os caminhos relativos dos arquivos do projeto inteiro, portanto, no comando primeiro , xargs
despejou os resultados do find
to wc
em dois lotes , o que significa que wc
colocou dois totais , rodeados por milhares de nomes de arquivos. Mas o ARG_MAX era maior do que o segundo find
de saída, de modo que o segundo menor encontrou tudo em um wc
total.
A correção era usar esses comandos, para que eu pudesse ver todos os totais sem as linhas de contagem de arquivos individuais (chatas):
find . -type f | xargs wc -l | grep total
find -E . -regex '.+\.(php|inc)' -type f | xargs wc -l | grep total
Em seguida, some as várias linhas "totais" manualmente.