Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 6.801 ]
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
Instalação do Microsoft Edge no Linux
rc.mailMyIp - Informa seu IP externo para o Gmail
Script para Firewall de Borda Corporativo
PKG Sync v3.0 - Utilitário para backup de pacotes deb baixados - Versão final
passa2 - Um sistema de backup/sincronização/cópia de arquivos em SHell Script
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
O que eu faço com o pen drive de 200mb? (7)
Log: core: Interactive#t... error - IOError closed stream (1)
Meu Kali Linux sumiu da inicialização (2)