[Debian-RS] Apagar arquivos com "prazo de validade"

Bruno de Oliveira Schneider boschneider em gmail.com
Sexta Março 31 09:09:27 BRT 2006


On 3/30/06, Diego Fabian Pimentel wrote:
> Olá amigos, estou com a seguinte dúvida:
>
> Tenho em um diretório alguns arquivos com "prazo de validade". Ou seja eles
> precisam ser apagados na Dia e na Hora certa.
>
> Os nomes desses arquivos são assim: "03301430 - Nome do arquivo"
>
> Onde 03 é o mês ; 30 é o dia do mês ; 14 é a hora ; 30 é o minuto
>
> Eu pensei em algo como:
>
> data=`date +%m%d%H%M`
>
> A variavel data recebe o valor do Dia e da Hora corrente. Ou seja algo como:
>  03301855
>
> O que eu preciso fazer é apagar todos os arquivos que contenham em seu nome
> valores menores ou iguais a: 03301855
>
> Então algo como: Apagar todos os arquivos que contenham em seu nome números
> menores que 03301855
>
> tentei com:         rm -rf  [0-$data]
>
> mas não deu certo.
>
> Se alguém tiver alguma luz, fico grato!
>
> Diego Fabian

Dúvidas assim são melhor respondidas na debian-users-portuguese, numa
lista sobre Bash ou coisas semelhantes.

Entretanto, aproveito para dar uma ajuda:

1. Pegar a data atual, como você já sabe.
2. Para cada arquivo no diretório de interesse:
2.1 separar os 8 primeiros caracteres com "cut";
2.2 comparar a data do nome do arquivo com a data atual, usando algo tipo
      "if [ ${data_arq} -lt ${data_atual} ] ...";
2.3 apagar o arquivo se o teste suceder.

--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/


Mais detalhes sobre a lista de discussão Debian-RS