Compara igualdade entre arquivos
Publicado por Jackson Klarosk (última atualização em 07/12/2012)
[ Hits: 7.158 ]
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
Simples inventário de máquinas em Shell Script
Identificar,matar e Iniciar novo Processo
Envia e-mails periodicamente com back-up do servidor
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
queria saber como instalar o android power tools igual ao winux no lin... (7)
Como listar os arquivos em "bloquin... [RESOLVIDO] (6)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (2)