shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Apagar sequencia de arquivos


From: Lawrence Waclawiak
Subject: Re: [shell-script] Apagar sequencia de arquivos
Date: Wed, 28 Apr 2010 15:40:55 -0300
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

Adorei tua solução muito boa!
Com ela se a sequencia tiver furos ele não tenta remover um arquivo inexistente como nos outros exemplos que foram propostos.
Parabéms!

Fernando Luizao escreveu:
Uma com awk:

ls -l | awk 'substr($9, 6, 4) < 1379 { print $9 }' | xargs rm

Explicando:

O substr vai cortar 4 caracteres do nono campo (no nosso caso, o nome do arquivo, por exemplo BD_1_1373_693048009.arc), a partir do sexto caracter, cortando apenas o número (1373). Com o número cortado, fazemos a comparação com o que queremos, e se a comparação for verdadeira, imprimimos o nono campo (nome do arquivo). A saída é então jogada para o *rm* por meio do *xargs*, então se vc quiser testar, é só tirar o "| xargs rm" pra não correr o risco de perder nada =).

Abraços

--- Em qua, 28/4/10, thiagomz <address@hidden <mailto:thiagozerbinato%40yahoo.com.br>> escreveu:

De: thiagomz <address@hidden <mailto:thiagozerbinato%40yahoo.com.br>>
Assunto: [shell-script] Apagar sequencia de arquivos
Para: address@hidden <mailto:shell-script%40yahoogrupos.com.br>
Data: Quarta-feira, 28 de Abril de 2010, 14:03

Pessoal,

Tenho um diretório com arquivos sequenciais, como abaixo:

-rw-r----- 1 oracle oinstall 128271872 Apr 28 09:27 BD_1_1373_693048009 .arc

-rw-r----- 1 oracle oinstall 128271872 Apr 28 10:18 BD_1_1374_693048009 .arc

-rw-r----- 1 oracle oinstall 128271872 Apr 28 10:56 BD_1_1375_693048009 .arc

-rw-r----- 1 oracle oinstall 128271872 Apr 28 11:26 BD_1_1376_693048009 .arc

-rw-r----- 1 oracle oinstall 128271872 Apr 28 11:49 BD_1_1377_693048009 .arc

-rw-r----- 1 oracle oinstall 128271872 Apr 28 12:10 BD_1_1378_693048009 .arc

-rw-r----- 1 oracle oinstall 128271872 Apr 28 12:18 BD_1_1379_693048009 .arc

O que eu gostaria é deletar tudo que for menor que o sequencial 1379.

att.

thiagomz

[As partes desta mensagem que não continham texto foram removidas]






reply via email to

[Prev in Thread] Current Thread [Next in Thread]