paulo1205
(usa Ubuntu)
Enviado em 03/02/2013 - 06:57h
Peço desculpas pelo dano colateral causado pela minha distração -- eu grotescamente entendera que você queria apagar depois do primeiro nível, não somente após o segundo.
Mas ainda advogo em favor de uma solução parecida com a minha proposta original, pois ela cuida de apagar também subdiretórios em níveis mais internos. Se você tivesse um arquivo localizado em
/home/temp/dir1/dir2/dir3/dir4/arquivo.txt, a outra solução apresentada apagaria apenas o arquivo, deixando a tripa de subdiretórios ainda no disco, mesmo sem arquivo algum dentro deles. Além disso, da forma como foi feito, essa outra solução executa uma instância diferente do comando
rm para cada arquivo a ser removido, o que é um tremendo desperdício se a quantidade de arquivos for grande.
Assim sendo, eu proporia, após os devidos testes feitos por você (por exemplo, colocando
echo antes do
rm, para ver na tela qual comando teria sido executado), a seguinte simples variação do que eu havia dito anteriormente.
find /home/temp -mindepth 2 -maxdepth 2 -print0 | xargs -0 rm -Rf