Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 6.944 ]
Comparar igualdade entre arquivos foi uma necessidade que surgiu ao corrigir exercícios de programação enviados pelo Moodle. Busquei por comandos que facilitassem a comparação recursiva de arquivos em uma pasta, mas não achei nada tão específico.
Usei o diff, vimdiff, o cmp e o comm, até que resolvi montar o script que segue.
O script serviu para mim e espero que a comunidade do VOL faça bom proveito.
#!/bin/bash clear ls echo "Digite o nome da pasta de Origem" read origem echo "Digite o percentual esperado" read perc lstarqs=/tmp/listaarqs arqcmp=/tmp/arquivocomp arqtmp=/tmp/arquivotemp resultado=checa rm $resultado$origem ls $origem > $lstarqs if test -s $lstarqs clear then while test -s $lstarqs do var1=`head -1 $lstarqs` sed -i '1d' $lstarqs for var2 in $(cat $lstarqs) do sort $origem/$var1 $origem/$var2 | awk 'seen[$0]++ == 1' > $arqtmp wc -l $origem/$var1 > $arqcmp wc -l $origem/$var2 >> $arqcmp wc -l $arqtmp >> $arqcmp val1=`awk 'NR==1{print $1}' $arqcmp` val2=`awk 'NR==2{print $1}' $arqcmp` val3=`awk 'NR==3{print $1}' $arqcmp` med=$[($val1+$val2)/2] res=$[$val3*100/$med] if test $res -gt $perc #maior #if test $res -lt $perc #menor then echo $var1 vs $var2 >> $resultado$origem echo $res% de igualdade >> $resultado$origem echo "=======================" >> $resultado$origem echo $var1 vs $var2 echo $res% de igualdade echo "=======================" fi done done rm -f $lstarqs rm -f $arqcmp rm -f $arqtmp fi exit
FindBackdoor - Detectar possíveis backdoors em arquivos PHP (WordPress)
Instalando e configurando o AIDE em 15 minutos
Configurando Adaptador USBSerial no Ubuntu usando udev
Plugin do Nagios em Shell Script
Firewall - Satefull inspection com NAT
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
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)