
Como posso remover todos run-*.achilles
os diretórios de todos os meus subdiretórios no Linux?
Eu tentei find /path -name run-*.achilles -type f -delete
, mas não funciona.
Responder1
Vários problemas aqui:
- Você deve citar
*
para evitar o globbing do shell. -type f
diz quefind
você deseja arquivos.find -delete
não excluirá diretórios não vazios.Veja esta pergunta. Solução ajustada de uma das respostas:find /path -path '*/run-*.achilles/*' -delete find /path -type d -name 'run-*.achilles' -empty -delete
Não é perfeito, a primeira linha corresponderá .../run-a/b.achilles/...
. Eu penso. Este comando deve corresponder melhor:
find /path -type d -name 'run-*.achilles' -exec rm -rf {} +
Ele usa rm -rf
, então tome cuidado com isso.