find
La -delete
bandera de funciona de manera similar a rmdir
cuando se eliminan directorios. Si el directorio no está vacío cuando se alcanza, no se puede eliminar.
Primero debe vaciar el directorio. Como está especificando -type d
, find
no lo hará por usted.
Puede resolver esto haciendo dos pases: primero elimine todo dentro de los directorios nombrados __pycache__
, luego elimine todos los directorios nombrados __pycache__
:
find ~ -path '*/__pycache__/*' -delete
find ~ -type d -name '__pycache__' -empty -delete
Algo menos estrictamente controlado, pero en una sola línea:
find ~ -path '*/__pycache__*' -delete
Esto eliminará cualquier cosa dentro de su hogar que tenga __pycache__
como parte de su camino.
find ~ -path '*/__pycache__*' -delete
, o probablementefind ~ -path '*/__pycache__/*' -o -name __pycache__ -delete
sea seguro.find ~ \( -path '*/__pycache__/*' -o -name __pycache__ \) -delete
como y tiene prioridad sobre o .