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]