find . -name '*.pyc' -print0 | xargs -0 rm
Поиск рекурсивно ищет * .pyc файлы. Xargs берет этот список имен и отправляет его в rm. -Print0 и -0 говорят двум командам разделять имена файлов нулевыми символами. Это позволяет ему корректно работать с именами файлов, содержащими пробелы, и даже с именем файла, содержащим новую строку.
Решение с -exec работает, но оно раскручивает новую копию rm для каждого файла. На медленной системе или с большим количеством файлов это займет слишком много времени.
Вы также можете добавить еще пару аргументов:
find . -iname '*.pyc' -print0 | xargs -0 --no-run-if-empty rm
iname добавляет нечувствительность к регистру, как * .PYC. No-run-if-empty не позволяет получить сообщение об ошибке от rm, если у вас нет таких файлов.