Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 7.014 ]
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
Script de Instalação Zabbix Server - Debian
Trocar senha de root NO BRACO remotamente
Download do banco de dados NCBI NR (DNA)
Firewall com proxy transparente completo
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Backup de arquivos no Mint (1)
Por que programação de baixo nível e tão comum no Linux do que no wind... (2)
Limites de depósito: como ajustá-los a seu favor? (0)