Script que verifica se existem arquivos repetidos em dois diretórios
Publicado por Leandro Santiago 10/11/2006
[ Hits: 8.596 ]
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
Descobrindo MAC, IP, Broadcast e Máscara da placa de rede
Verificando se uma placa de rede está presente
Squid: configure com opções avançadas
Script para configuração inicial do seu Linux
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Linux rodando do hd externo ou ssd? (4)
Firewall iptables - Rotear Interface Cliente (0)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta