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 \{\} \;' {} {} \;