Script que verifica se existem arquivos repetidos em dois diretórios
Publicado por Leandro Santiago 10/11/2006
[ Hits: 8.615 ]
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
Firewall simples mas muito util
ola_mundo.sh - Mostra a mensagem "Olá Mundo" na tela
Obter temperatura do Weather.com
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Linux não é para todo mundo (4)
Dificuldade para renderizar vídeo no kdenlive (8)