Verificar se um mesmo arquivo está em dois diretórios diferentes

Publicado por Leandro Santiago 05/12/2006

[ Hits: 5.410 ]

Homepage: http://leandrosan.wordpress.com

Download repetidos




Primeira versão:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=2330

Nesta versão foram corrigidos alguns bugs (não me pergunte como algo tão simples pode ter bugs!!), acho que agora funciona... :)

Na próxima versão serão adicionadas algumas funções, mas isso são projetos futuros.

  



Esconder código-fonte

#!/bin/bash

# Escrito por Leandro Santiago da Silva
# e-mail: leandrosansilva@gmail.com
# Críticas, sugestões, enviarem para esse e-mail.

# Programa que verifica se você tem um mesmo arquivo em vários diretórios
# A checagem é feita via md5sum, o que faz com que mesmo que arquivos diferentes tenham o mesmo nome, serem ainda sim considerados diferentes
# É possível jogar a lista dos arquivos repetidos num arquivo de log.




## A função echos eu retirei do programa funcoeszz (http://www.funcoeszz.net)

echos(){
   echo -e "{FONTE}33[36;1m$*"; echo -ne "{FONTE}33[m"
}



if [ -z $1 ]; then
   echo
   echo "Uso deste programa:"
   echo
   echos "$0 diretório-destino "
   echo
   echo "Mais informações, digite $0 --help"
   echo
   exit
fi

if [ $1 = '--help' ]  ; then
   echo
   echo "Uso deste programa:"
   echo
   echos "$0 diretório-destino "
   echos "$0 diretório-destino arquivo_de_log"
   echo
   echo "Escrito por Leandro Santiago da Silva"
   echo
   echo "leandrosansilva@gmail.com"
   echo
   exit
fi

if [ $1 = '--version' ] ; then
   echo
   echos "Versão 0.1.1"
   echo
   exit
fi
      
for ARQUIVO in * ; do
   TESTE=$( ls -ld "$ARQUIVO" | grep '^-' )
   if [ $? = 0 ] && [ -e   "$1"/"$ARQUIVO"  ] ; then
      if [ $( md5sum "$ARQUIVO" | cut -f1 -d' ') = $( md5sum "$1"/"$ARQUIVO"  | cut -f1 -d' ' ) ]; then 
         echos $ARQUIVO
         if [ ! -z $2 ]; then
            echo $ARQUIVO >> $2
         fi
      fi
   fi
done 

Scripts recomendados

Informações do Sistema

Script Admin PDC

Adicionar e Remover usuário do Samba/Squid (com menu)

String split

Monty Hall (Mario Version)


  

Comentários
[1] Comentário enviado por tenchi em 08/12/2006 - 12:01h

AH, eu refiz esse script, odeixando muito mais legível, além de implementar várias frescuras, como tratamento de parâmetros. Espero que gostem:

link: http://seringueira.din.uem.br/~lssilva/repetidos.htm


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts