find
-delete
Прапор 's працює так, як rmdir
при видаленні каталогів. Якщо каталог не порожній, коли його досягнуто, його не можна видалити.
Спершу вам потрібно спорожнити каталог. Оскільки ви вказуєте -type d
, find
це не зробить для вас.
Ви можете вирішити це, зробивши два проходи: спочатку видаліть усе з названих dirs __pycache__
, а потім видаліть всі dirs з назвою __pycache__
:
find ~ -path '*/__pycache__/*' -delete
find ~ -type d -name '__pycache__' -empty -delete
Дещо менш жорстко контрольований, але в одному рядку:
find ~ -path '*/__pycache__*' -delete
Це видалить все, що знаходиться у вашому домі, що є __pycache__
частиною шляху.
find ~ -path '*/__pycache__*' -delete
або, мабуть,find ~ -path '*/__pycache__/*' -o -name __pycache__ -delete
бути безпечною.