Remoção de arquivos pela data

Publicado por Alexandre Villas 11/06/2007

[ Hits: 7.513 ]

Download remover.sh




Este script permite remover um arquivo pela sua data. A data neste caso é de alteração. Ex.:

>$ sh remover.sh 06 06 2007

O comando dado procura por arquivos datados de sua modificação do dia 06 de junho de 2007. O script perguntará se realmente deve remover o arquivo antes de fazê-lo.

BUGs - 1) Apenas remove arquivos cujo nome não possua espaços em branco;
           2) Funciona apenas para Debian e seus derivados;

PS.: A quem puder melhorá-lo e remover estes BUGs, agradeço!! :)

  



Esconder código-fonte

#!/bin/bash

ls -l | grep '^-' | cut -f2 -d: | cut -c4- > /tmp/nomeDosArquivos #Captura o nome dos arquivos
ls -l | grep '^-' | tr -s " " | cut -f6 -d" " > /tmp/datas #Captura as datas
paste -d':' /tmp/nomeDosArquivos /tmp/datas > quase
cat quase | tr " " "*" > final
rm quase
rm /tmp/nomeDosArquiv*
rm /tmp/datas

for i in `cat final`;
      do
                DIA=`echo $i | cut -f2 -d: | cut -c9-`
                MES=`echo $i | cut -f2 -d: | cut -c6-7`
                ANO=`echo $i | cut -f2 -d: | cut -c1-4`

              if [ "$DIA" = "$1" -a "$MES" = "$2" -a "$ANO" = "$3" ]
              then
                    res=`echo "$i" | cut -f1 -d: | tr '*' ' '`
              fi
        done

rm final

Scripts recomendados

Relatório de suprimentos da empresa

Combinação de nros (para mega sena)

Configuração de rede wireless (WPA)

Limpar pacotes com versões antigas do cache do apt

Instalação do LibreOffice 64 bits no Ubuntu


  

Comentários
[1] Comentário enviado por alequimico em 12/06/2007 - 09:51h

Oi pessoal, gostaria apenas de retificar esse script, que apenas depois de publicado eh que percebi que mandei o script de testes e não o definitivo. Apenas para que funcione, mude, na linha 20 de
res=`echo "$i" | cut -f1 -d: | tr '*' ' '`
para
rm -i `echo "$i" | cut -f1 -d: | tr '*' ' '`

Me desculpem por essa falha!!


Contribuir com comentário