wc
gera apenas um valor Total quando é chamado com mais de um arquivo como argumentos.
Do manual do GNU :
If more than one file is given,
wc
prints a final line containing the cumulative counts, with the file nametotal
.
No seu caso, você não pode obter uma saída Total , já que invoca wc
uma vez para cada arquivo encontrado, portanto, cada chamada wc
subseqüente não sabe sobre a anterior.
Se você ainda quiser a contagem total, poderá usar a opção globstar
no Bash para recorrer aos diretórios e listar .py
files:
shopt -s globstar
wc -l **/*.py
Ou, como sugere o grawity, com a opção find
do -exec command {} +
do GNU, ter find
substituir todos os caminhos encontrados em {}
, em vez de chamar cada um individualmente (embora haja um limite para o número de arquivos que pode substituir, assim como com a abordagem glob).