Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 7.120 ]
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
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - RESUMO DE MSGS COM VIRUS
Tradução de endereços de uma rede interna
Copiando arquivos de uma so vez para todos usuarios
Sincronização entre Servidores de Impressão
Gravar DVDs no Linux pelo Cron
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Rede wifi com mesmo ip da rede eth (12)
Primeiras impressões do Debian 13 (3)
como resolver o problema de som do linux mint mate (3)