find . -name '*.pyc' -print0 | xargs -0 rm
A localização procura recursivamente os arquivos * .pyc. O xargs pega essa lista de nomes e a envia para rm. -Print0 e -0 dizem aos dois comandos para separar os nomes de arquivos com caracteres nulos. Isso permite que ele funcione corretamente em nomes de arquivos que contêm espaços e até mesmo um nome de arquivo que contém uma nova linha.
A solução com -exec funciona, mas gera uma nova cópia da rm para cada arquivo. Em um sistema lento ou com muitos arquivos, isso levará muito tempo.
Você também pode adicionar mais alguns argumentos:
find . -iname '*.pyc' -print0 | xargs -0 --no-run-if-empty rm
iname adiciona insensibilidade a maiúsculas e minúsculas, como * .PYC. O no-run-if-empty impede que você obtenha um erro da rm se você não tiver esses arquivos.
rm
serão chamados com argumentos [-r, a.pyc, b.pyc].