rmdir recursivo [RESOLVIDO]

1. rmdir recursivo [RESOLVIDO]

rogerio machado
rogeriojlle

(usa OpenSuSE)

Enviado em 24/09/2008 - 12:32h

Como apagar pastas vazias recursivamente?
A principio o comando rmdir só faz isso "de trás pra frente"
o uso para ele seria o seguintepara apagar arquivos antigos numa pasta compartilhada depois de um tempo, atualmente está assim:

find /home/biblioteca -ctime +15 -exec rm -f {};

( fonte: http://www.vivaolinux.com.br/perguntas/verPergunta.php?codigo=48917 )

mas ele deixa as pastas que estão vazias lá (não observei se as pastas que tinha conteúdo e ele apagou tudo e deixou ela lá, vazia ou se apagou também)

de acordo com man do comando eu teria de saber toda a estrutura de subpastas para ter o resultado desejado.


  


2. MELHOR RESPOSTA

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 26/09/2008 - 13:51h

Faltou a contra-barra:

find -type d -empty -exec rmdir {} \;

As "{}" são usadas para representar o nome de cada arquivo que for encontrado pelo find.

3. Re: rmdir recursivo [RESOLVIDO]

Kelvin Vicente
KelvinVicente

(usa Debian)

Enviado em 24/09/2008 - 12:58h

rm -R

leia o man do rm ;-)

[]s





4. Re: rmdir recursivo [RESOLVIDO]

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 24/09/2008 - 13:22h

Realmente rm -f não apaga diretórios.

use

find /home/biblioteca -ctime +15 -exec rm -drf {};



5. Re: rmdir recursivo [RESOLVIDO]

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 24/09/2008 - 13:23h

só cuidado com -drf, isso apaga tudo sem dar nenhum aviso.

uma "dedada" mal dada e você ferra seu sistema.

Eu normalmente não uso a combinação dessas opções se estiver logado como root.


6. Re: rmdir recursivo [RESOLVIDO]

rogerio machado
rogeriojlle

(usa OpenSuSE)

Enviado em 24/09/2008 - 14:28h

já responderam? uau.
esse compartilhamento é usado por várias estações Windows, ela está no lugar de "Meus Documentos", vou experimentar o novo comando e postarei o resultado. Obrigado pela atenção de todos.


7. Re: rmdir recursivo [RESOLVIDO]

rogerio machado
rogeriojlle

(usa OpenSuSE)

Enviado em 24/09/2008 - 14:53h

Prezado Kelvin:
man do rm lido, porém:
-R não vai fazer com que se apague subdiretório que contenham arquivos dentro do "prazo de validade"?


8. Re: rmdir recursivo [RESOLVIDO]

Danilo Martins
malkie

(usa Debian)

Enviado em 24/09/2008 - 18:03h

Positivo. Demorei pra entender as dúvidas aqui.

Creio que o ideal sejam dois comandos. Adiciona aí no find um "-type f" pra pegar só arquivos, depois roda um outro pra achar só diretórios vazios.

Não vi manuais, mas acho que isso aí resolve
find -depth -type d -empty -exec rmdir {};


9. Re: rmdir recursivo [RESOLVIDO]

Kelvin Vicente
KelvinVicente

(usa Debian)

Enviado em 25/09/2008 - 08:45h

@rogeriojlle:
=] Fiquei feliz por tu ter lido o man =D
A pergunta que tu fez deixou-me na duvida, dai abri o man rm aqui na firma pelo mac *-*
(felicidade da criança XP)
-R e -r são equivalentes e apagam a arvore de diretorios a partir do diretorio pai ;-)
Se tu colocar o -i junto ele irá pedir a confirmação para apagar cada diretorio =]

[]s


10. Re: rmdir recursivo [RESOLVIDO]

rogerio machado
rogeriojlle

(usa OpenSuSE)

Enviado em 25/09/2008 - 20:25h

sem querer ser "mala-sem-alça" mas é que não tive mais tempo de testar a solução sugerida por vocês.

Com o comando que o malkie me passou, tenho o seguinte retorno do shell:
faltando argumento para `-exec'

e também posso eliminar o "-depth" do comando que chego ao mesmo reultado: uma lista de pastas vazias

A expressão "-exec" ao meu ver tem função semelhante ao "|" (pipe) e {} deve significar algo como "para cada linha", estou certo?

então na minha lógica .....
para cada linha de find -type d -empty execute rmdir linha
(o que também não explica a falta de argumentos para -exec, já que no comando que remove arquivos antigos ele não precisou de nenhum parâmetro).


11. Simples

Willian Silva
xwillianss

(usa Ubuntu)

Enviado em 30/09/2008 - 13:11h

rm -Rf /pasta






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts