Script que verifica se existem arquivos repetidos em dois diretórios
Publicado por Leandro Santiago 10/11/2006
[ Hits: 8.590 ]
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
Configurações gerais de rede em Debian Server
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[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