Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 7.280 ]
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
BACKUP para micros com Windows XP utilizando o share administrativo ( C$ )
Kernel 4.0 para Ubuntu, Linux Mint, Lubuntu e derivados
Plugin do Nagios em Shell Script
Renomeia diretorio,subdiretorio e arquivos de maiuscula > minuscula
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Linux Mint: Zram + Swapfile em Btrfs
O widget do Plasma 6 Área de Notificação
Internet não funciona corretamente no Linux (1)
tentei instalar o steam pelo terminal, agora ele não abre (2)
Após todos esses anos... youtube! (4)









