Se o seu find
tem -mindepth
e -delete
(pelo menos, GNU ou BSD):
find . -name output -type d -exec find {} -mindepth 1 -delete \;
Eu baixei um projeto da web.Quando construindo o projeto, ele produz arquivos de saída na pasta chamada saída .O problema é que existem muitas pastas com o mesmo nome.Eu preciso excluir manualmente os arquivos em todos output
diretórios.
Eu usei este comando
find . -type d -name "output" -print
Exibe a localização de todos os diretórios com o mesmo nome.
Então eu usei este comando
find . -type d -name "output" -delete
find: cannot delete ‘./output’: Directory not empty
Eu não quero excluir a pasta output
que desejo excluir todos os arquivos sob o nome da pasta output
.
Você pode usar as seguintes formas, dependendo da versão do find
que você possa ter.
GNU encontra:
find . -type f -path '*/output/*' -exec echo rm -f {} \;
POSIX-find
find . -type d -name output -exec sh -c 'find "$1"/. ! -name . -prune -type f -exec rm -f \{\} \;' {} {} \;