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

Re: rm e ls com lista de argumentos muito longa



 Leandro:

 Alguns programas do bin-utils GNU tem algumas limitações qto a qtde
de argumentos. O rm e o ls, por exemplo tem o limite de 1024
argumentos.

 Qdo vc usa as máscaras (wildmasks) vc na verdade está facilitando a
montagem da lista de argumentos. O rm, no seu caso, não enxerga o
asterisco, e sim uma lista de arquivos, que corresponde ao asterico,
180.000 arquivos!

 180.000 argumentos está acima da capacidade de argumentos destes
aplicativos. Ainda bem que vc tinha arquivos numerados em sequencia,
assim vc conseguiu fazer um programinha python que resolvesse o
problema. Senão ia ter que arrumar alguma outra forma.

 Se não fosse isso eu não sei como faria.

 Fabio

On 7/26/05, Leandro Ferreira <androle@androle.pro.br> 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.
> 
> Bom, resolvi com um pequeno script python:
> -------------------------------------------
> import string
> import os
> 
> for i in range(1,180000):
>     n = str(i)
>         num =  string.zfill(n,8)
>         nnum = num + ".jpg"
>         os.system('rm -f %s' % nnum)
> -------------------------------------------
> Consegui resolver o meu problema, porque os arquivos que queria apagar
> tem o formato 00000000.jpg, de 0 até mais ou menos 180.000. Mas, e se
> tivesse que fazer isso com arquivos com nomes aleatórios?
> 
> Procurei no google e não achei solução para esse problema do rm e do ls.
> 
> Alguém sabe como solucionar essa limitação?
> 
> Um abraço
> 
> Leandro
> 
> --
>  (@_   Leandro Padilha Ferreira - http://androle.pro.br
>  //\
>  V_/_  Linux user #237.744 - GPG ID: A7FB969E
> 
> ---------------------------------------------------------------
> Meu lado feminino é sapatão.
> 
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
> 
> iD8DBQFC5sx5d8iw8hWoWeoRAqyjAJ97BUxXxauLrNXdpYwhVOLAGxJzIACfRPfg
> FDcIX1TWD1ENRw/KTJCeTe0=
> =mMph
> -----END PGP SIGNATURE-----
> 
> 
>



Reply to: