Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 7.368 ]
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
Ativar serviço que está parado
Limitando largura de banda com o CBQ
Instala o Stardict Dicionario!
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Continuando meus tópicos anteriores (14)
computador nao reconhece camara (0)









