KAPITALSIN
JUEGOS/SOFTWARE/HARDWARE => SOFTWARE => Mensaje iniciado por: Fl0ppy en 10 de Febrero de 2018, 01:39:02 pm
-
Es un poco tontin pero efectivo
find -type f -not -name "checklist.txt" -exec md5sum "{}" + > checklist.txt
Para comprobar los ficheros
md5sum -c checklist.txt
-
Añado un script que he modificado (ligeramente, solo he puesto un poco de color en el texto) que lo hace es un listado progresivo y así vemos cuantos ficheros lleva y cuantos quedan, aparte pone en un listado los que no coinciden para que se puedan revisar.
Este script ha salido de aquí:
https://unix.stackexchange.com/questions/16826/good-progress-bar-about-md5sum-checking-progress
http://pastebin.com/raw/eqfiXzaB
(https://www.kapitalsin.com/forum/index.php?action=dlattach;topic=2340.0;attach=597;image)
#!/bin/bash
# unzip file.zip
# rm file.zip
printf '' > output-bad-checksums.txt
n=$(cat checklist.txt | wc -l)
cat checklist.txt | {
i=0 bad=0 bad_bef=0
while IFS= read -r line; do
i=$((i+1))
bad_bef=`echo $bad`
line_act=`echo $line | sed 's/^.................................//g'`
echo "$line" | md5sum -c - || bad=$((bad+1))
if [[ $bad_bef < $bad ]];
then echo "$line" >> output-bad-checksums.txt
fi
clear
echo -e "$i/$n - checking: \n\n$line_act"
done
[ $bad -eq 0 ] || { tput setaf 1;echo "$bad bad checksums check the file output-bad-checksums.txt"; false; } && { tput setaf 2;echo "All good"; }&& rm output-bad-checksums.txt
}
-
Creada versión nueva con estos cambios
-Si los datos son correctos entonces borra el fichero .chk y sale un mensaje diciendo que todo ha ido bien de color verde, si sale mal entonces sale de color rojo con otro mensaje