[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rm e ls com lista de argumentos muito longa



No dia 26/07/2005 às 21:18,
Marcelo Beckmann <marcelo@beckmann.trix.net> escreveu:

> Leandro Ferreira wrote:
> >Olá pessoal
> >
> >Tenho um diretório com cerca de 180.000 arquivos jpg que quero apagar.
> >
> >Tentei um rm -f * e deu erro:
> >/bin/rm: lista de argumentos muito longa.
> >
> >Tentei ls -d *.jpg| rm -f $(xargs), e deu a mesma coisa:
> >/bin/ls: lista de argumentos muito longa.
> 
> Eu ia justamente sugerir xargs, entretanto não conhecia essa construção 
> que você usou com ele.
> 
> Experimente algo como:
> find . -type f -name \*.jpg -maxdepth 1 | xargs rm -f
> 
> deve funcionar
> 
> o xargs tem ainda o parâmetro -n <quantidade> para limitar a quantidade 
> de argumentos que será passada para o comando.
> 

Marcelo

Já não tinha os 180.000 arquivos para testar, mas o programinha em
python ficou tão lento (não sou expert em python ou programação) que ainda tinha uns 600 MB de arquivos. Ai testei
com o find e funcionou. Pena que já não tinha todos para testar.

Fiz o seguinte:

find -name \*.jpg -exec rm -f {} \;

Foi bem mais rápido que a solução em python.

Tinha me esquecido completamente do find. 
Valeu a dica!

Um abraço a todos

Leandro

--
 (@_   Leandro Padilha Ferreira - http://androle.pro.br
 //\
 V_/_  Linux user #237.744 - GPG ID: A7FB969E
 
---------------------------------------------------------------
	O homem vale tanto quanto o valor que da a si proprio.
		-- Francois Rabelais 

Attachment: signature.asc
Description: Digital signature


Reply to: