[PLUTO-help] un md5sum veloce e attendibile

exameron exameron a yahoo.it
Lun 5 Gen 2009 22:57:04 CET


tutti sappiamo che il valore md5sum - salvo un margine di "sfiga" 
estremamente
insignificante - corrisponde UNIVOCAMENTE al contenuto del file processato.
mi chiedo se sia possibile velocizzare l'operazione di calcolo, sì da poter
processare più file (indi confrontarli in cerca di doppioni) senza 
impiegarci
un'intera giornata... tutto ciò ovviamente al costo di un "tasso di 
univocità"
(scusate l'ossimoro) più basso.

in un recente linux magazine suggerivano questa soluzione...
#############################################################################
#!/bin/bash
if [[ ! "${1}" ]]; then exit 0; fi
echo $(dd if="$1" ibs=300K count=1 2>/dev/null | md5sum | cut -f1 -d" ") 
"$1"
#############################################################################
....ma io credo che il tasso di univocità in questo caso sia troppo basso: mi
è capitato di eseguire lo script su due file di rappresentazione grafica (lo
uno era l'aggiornamento dell'altro), e poiché iniziavano entrambi allo 
stesso
modo (ma si sviluppavano e terminavano diversamente), venivano riconosciuti
uguali quando in realtà non lo erano.

ora, poiché l'ipotesi di file che iniziano allo stesso modo ma terminano in
modo diverso ritengo essere abbastanza diffusa,  avevo pensato di sostituire
"dd" con "tail"...
###################################################################
#!/bin/bash
if [[ ! "${1}" ]]; then exit 0; fi
echo $(tail -c 300k "$1" 2>/dev/null | md5sum | cut -f1 -d" ") "$1"
###################################################################
....il che sembra funzionare, solo che volevo qualche consiglio: secondo voi,
considerati nello specifico i file particolarmente capienti, QUALE parte (la
ultima?) e QUANTA parte (300Kb?) di essi è statisticamente più idonea a
rappresentare un tasso di univocità abbastanza alto?

PS: avevo pensato addirittura di processare la prima e l'ultima parte 
del file
nel seguente modo...
################################################################
echo $(head -c 150k nome_file ; tail -c 300k nome_file) | md5sum
################################################################
....ma non so come ficcarle nello script.
anzi a dirla tutta avevo la pretesa di processare anche il centro del 
file (e
questo è il motivo per il quale avevo postato "head & tail: la via di 
mezzo")
ma qui si va oltre le mie capacità.

grazie ed una buona epifania a tutti!





More information about the pluto-help mailing list