Encontre o diretório e exclua seu conteúdo, mas não ele mesmo

0

Como faço para encontrar um diretório e excluir todo o seu conteúdo, mas não o diretório em si?

find -type -d -name 'Tmp' -exec rm -rf {} \;

Mas isso também exclui o diretório 'Tmp'.

Obrigado antecipadamente.

    
por John 23.12.2013 / 20:12

1 resposta

1

Aqui está uma maneira de fazer isso:

find . -type d -name 'Tmp' -exec sh -c 'rm -r "$0"/*' {} \;

Pessoalmente, eu preferiria fazer isso com o bash:

shopt -s globstar
rm -r ./**/Tmp/*

Com isso, você também pode garantir que está excluindo também dotfiles ocultos:

shopt -s globstar dotglob
rm -r ./**/Tmp/*
    
por evilsoup 23.12.2013 / 20:28