Comparar Hash

1. Comparar Hash

Diego Alves de Lima
ViperSTR10

(usa Debian)

Enviado em 27/08/2015 - 15:16h

Pessoal, tenho uma dúvida quanto a comparação de hash... usando o seguinte comando eu consigo as hashes de dois diretórios:
find /DIRETORIO1/ -iname '*.*' -exec md5sum {} \; | cut -d " " -f 1
find /DIRETORIO2/ -iname '*.*' -exec md5sum {} \; | cut -d " " -f 1

Ambos geram uma lista de hashes para que eu possa comparar o conteúdo de duas pastas (estou evitando o diff). Meu problema é comparar as listas que sempre tem ordens aleatórias (porém com conteúdo igual na maioria das vezes).

Alguém sabe como ordenar a saída? Ou comparar de forma similar ao Procv?


  


2. Re: Comparar Hash

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 27/08/2015 - 16:02h

Ordene as strings e depois compare-as! Você pode tentar algo tosco +/- assim:

#!/bin/sh
var1='1a23bc'
var2='3c2b1a'

ordenarString() {
echo "$1" | grep -o '.' | sort -n | tr -d '\n'
}

var_ord1=`ordenarString $var1`
var_ord2=`ordenarString $var2`

echo "Nao ordenado: ${var1}, $var2"
echo "Ordenado: ${var_ord1}, $var_ord2"





3. Re: Comparar Hash

Fernando
phoemur

(usa Debian)

Enviado em 27/08/2015 - 19:04h


Tem algum motivo especial em evitar o diff ?
Pois eu acho que ele seria a ferramenta ideal para isso, com algo do tipo:


$ diff <(find /DIRETORIO1/ -type f -exec md5sum {} \; | cut -d " " -f 1 | sort) <(find /DIRETORIO2/ -type f -exec md5sum {} \; | cut -d " " -f 1 | sort)



Ele só vai mostrar as diferenças, se não mostrar nada é porque as listas são iguais






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts