Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: PCLinuxOS 2012 LXDE
Por pinduvoz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Removendo vários arquivos de uma lista gigante (Argument list too long)
Linux user
Publicado por Luiz Henrique de Lima Siqueira em 11/03/2008

Login: frikasoide, 9234 pontos
[ Hits: 8490 ]

Removendo vários arquivos de uma lista gigante (Argument list too long)

Não é todo sistema ou servidor que dá para automatizar a questão de apagar os logs, ou então, nem sempre é interessante apagá-los automaticamente. Por experiência própria, vez por outra preciso apagar vários arquivos gigantescos (geralmente logs) de uma única vez e a seguinte mensagem é gerada:

/bin/rm Argument list too long (Lista de argumento muito longa)

Bom, caso este seja o seu caso, basta entrar no diretório onde encontram-se os arquivos e executar algumas das alternativas de comando.

Para apagar todos os arquivos que contenham "2008" em seu nome:

$ for a in *2008*; do rm $a; done

Para apagar todos os arquivos que possuam a extensão .log:

$ for a in *.log; do rm $a; done

Espero que seja útil a muitos.

Abraço.


Outras dicas deste autor
Nenhuma dica encontrada.

Leitura recomendada
   Dica Linux recomendada Como descobrir seu IP no provedor
   Dica Linux recomendada Criando e montando um arquivo .ISO
   Dica Linux recomendada Encriptando e compactando arquivos com o zip
   Dica Linux recomendada Calculadora para modo texto
   Dica Linux recomendada O comando fuser

Comentários
[1] Comentário enviado por xisberto em 12/03/2008 - 10:15h:

Mais simples, você pode usar o asterisco diretamente no rm:

$ rm *2008*
$ rm *.log

[2] Comentário enviado por frikasoide em 12/03/2008 - 10:36h:

Ola xisberto, acredito que você ainda não teve problemas no qual se refere essa Dica, no caso, erro de Argument list too long. Pesquise no Google sobre isso e você encontrará diversas pessoas com essa dificuldade. De qualquer forma, obrigado pela participação.

[3] Comentário enviado por xisberto em 12/03/2008 - 10:58h:

Sim, frikasoide, já tive esse tipo de problema. Mas só agora, lembrando de como eu enfrentei o problema, eu entendi o espírito da sua dica.

Do jeito que usei, eu apenas tentava diminuir o número de argumentos por uma lista menor, mas tinha que passar várias listas em vários comandos rm.

Na sua dica, o comando rm é chamado várias vezes, cada uma com apenas um argumento. Se você tivesse dito isto lá na dica, eu só teria pensado "puxa vida, como fui burro", hehehehe

[4] Comentário enviado por frikasoide em 12/03/2008 - 11:01h:

Tranquilo xisberto!
Abraço

[5] Comentário enviado por SMarcell em 12/03/2008 - 13:21h:

Outra alternativa seria utilizando o find em pipe com xargs. Ex.:

find <diretorio> -type f -name "*.log" | xargs -O rm

Desse modo o find passaria a lista de todos os arquivos de log para o xargs que por sua vez, passaria o máximo de argumentos (arquivos) possíveis para o rm sem causar estouro de pilha.

[6] Comentário enviado por rafagavioes em 12/03/2009 - 21:14h:

caralho!! sempre quis saber disso!!
valeu

[7] Comentário enviado por sneves em 08/07/2009 - 10:38h:

Muito útil.
Funcionou perfeitamente.

Obrigado.
[]s

[8] Comentário enviado por W4rl0ck em 21/01/2010 - 20:00h:

Excelente me ajudou muito hoje...
Grato

[9] Comentário enviado por volcom em 12/05/2010 - 10:46h:

Perfect!

Mas usei pra outro comando:

for dir in /var/virtualmail/* ;do du -h -s $dir; done > /tmp/quotalista.txt

Listei o tamanho total dos diretórios e salvei em um arquivo para uso em um script.

Assim vamos seguindo hehehe

[10] Comentário enviado por allan_victor em 23/02/2012 - 13:00h:

entre no diretório e execute o seguinte comando
ls | xargs -n1 rm -R


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.