você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Remoção de réplicas de arquivos

Colaboração: Euriam Barros de Araujo

Data de Publicação: 04 de Janeiro de 2008

Em situações que arquivos repetidos encontram-se espalhados no HD, principalmente arquivos de vídeo ou de áudio, há ocupação de espaço em disco desnecessária. O script abaixo se propõe à remover réplicas de arquivos:

for i in `find -type f`
do
       echo -e "`basename $i`\t`dirname $i`"
done|sort|
awk '{
       file[NR]=$1
       dir[NR]=$2
}#Armazena todos os arquivos e diretorios em arrays

END {
       j=1
       for (i=1;i<NR;i++) {
               if (file[i]==file[i+1]) {
                       del_files[j]=dir[i+1]"/"file[i+1]
                       system("rm "dir[i+1]"/"file[i+1])
                       j++
               }#Localiza as replicas, inseri-as em array e remove-as
       }

       if (j==1) print "Não existe réplica de arquivo!"
       else {
               print "Arquivos removidos:"
               for (k=1;k<=j;k++) print del_files[k]
       }#Imprime as replicas removidas
}'


Veja a relação completa dos artigos de Euriam Barros de Araujo