Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 7.219 ]
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
Firewall completo com iptables
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - FILTRO PARA CMAMAR O CLAMAV DIRETAMENTE DO POSTFIX
Ajuste de horário e sincronismo
Fazer backup de todas base de dados no PostgreSQL
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Servidor para arquivos e banco de dados (0)
VOL já não é mais como antes? (27)
780 mil usuários do Janelas baIxaram Linux em um mês (2)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (11)









