find
-delete
% flag funciona de maneira semelhante a rmdir
ao excluir diretórios. Se o diretório não estiver vazio quando for alcançado, ele não poderá ser excluído.
Você precisa esvaziar o diretório primeiro. Como você está especificando -type d
, find
não fará isso por você.
Você pode resolver isso executando dois passos: primeiro, exclua tudo nos diretórios denominados __pycache__
e exclua todos os diretórios denominados __pycache__
:
find ~ -path '*/__pycache__/*' -delete
find ~ -type d -name '__pycache__' -empty -delete
Um pouco menos rigorosamente controlado, mas em uma única linha:
find ~ -path '*/__pycache__*' -delete
Isso excluirá qualquer coisa da sua casa que tenha __pycache__
como parte de seu caminho.