md5sum d'une liste de dossier récursivement
The snippet can be accessed without any authentication.
Authored by
Cedric Midoux
Edited
#!/bin/bash
# Fonction pour afficher un message de démarrage avec la date et l'heure
function print_start_message {
echo "$(date +"%Y-%m-%d %H:%M:%S") - START md5sum $1"
}
# Fonction pour afficher un message de fin avec la date et l'heure
function print_end_message {
echo "$(date +"%Y-%m-%d %H:%M:%S") - END md5sum $1"
}
# Boucle sur tous les dossiers dans le répertoire courant
for folder in * ; do
# Affiche un message de démarrage pour le dossier en cours
print_start_message "$folder"
# Calcule les md5sum pour tous les fichiers dans le dossier et ses sous-dossiers
find "$folder" -type f -exec md5sum {} \; > "${folder}_md5.txt"
# Affiche un message de fin pour le dossier en cours
print_end_message "$folder"
done
# Vérifie si un fichier md5.txt existe
if [ -e md5.txt ]
then
# Boucle sur tous les dossiers dans le répertoire courant
for folder in * ; do
# Vérifie si le fichier md5 correspondant existe pour chaque dossier
if [ ! -e "${folder}_md5.txt" ]
then
# Si le fichier md5 correspondant n'existe pas, affiche un message d'erreur
echo "ERREUR : le dossier $folder n'a pas de fichier md5 correspondant dans le fichier md5.txt."
fi
done
# Vérifie les md5sum de tous les fichiers dans le répertoire courant à partir du fichier md5.txt
md5sum -c md5.txt
else
# Si le fichier n'existe pas, calcule les md5sum de tous les fichiers dans le répertoire courant et les enregistre dans un fichier md5.txt
md5sum *_md5.txt > md5.txt
fi
Please register or sign in to comment