Skip to content
Snippets Groups Projects

md5sum d'une liste de dossier récursivement

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Cedric Midoux
    Edited
    md5_folder.sh 1.47 KiB
    #!/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
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment