Script que verifica se existem arquivos repetidos em dois diretórios
Publicado por Leandro Santiago 10/11/2006
[ Hits: 8.914 ]
Homepage: http://leandrosan.wordpress.com
É meu primeiro script, ou seja, está bem tosco, e como se pode ver não serve pra muita coisa, mas tem lá suas utilidades...
Ele verifica se dois arquivos são o mesmo baseado no nome dos arquivos e no md5sum dos mesmos. Ou seja, arquivos iguais, mas com nomes diferentes serão considerados iguais.
Funciona assim:
# ./repetidos dir_de_destino arq_de_log (este último opcional)
Hey, eu ainda estou aprendendo a usar o case!
#!/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.
# Mais informações, tente
# ./repetidos --help #
## 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.0.0.0.0.1-beta"
echos
exit
fi
for ARQUIVO in * ; do
if [ -e $1/$ARQUIVO 2> /dev/null ]; then
if [ $( md5sum $ARQUIVO 2> /dev/null | cut -f1 -d' ') = $( md5sum $1/$ARQUIVO 2> /dev/null | cut -f1 -d' ' ) ]; then
echos $ARQUIVO
if [ ! -z $2 ]; then
echo $ARQUIVO >> $2
fi
fi
fi
done
Informações gerais sobre o usuário
Monitor de recursos do sistema
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Conky não mostra temperaturas da CPU no notebook (14)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









