Commit 9f6291e4f2311e13a8693b81e5a5ec1a48dd6782

Authored by root
1 parent 0cb14b6861
Exists in master

ajout

Showing 1 changed file with 54 additions and 0 deletions

rechercheDoublons.sh View file @ 9f6291e
  1 +#!/bin/bash
  2 +
  3 +function preRequis {
  4 + for arg in $@; do
  5 + if ! which $arg >/dev/null; then
  6 + logger -t $0 La commande $arg n\'est pas installée
  7 + echo "La commande $arg n'est pas installée !!!"
  8 + echo "Fin du script."
  9 + exit 1
  10 + fi
  11 + done
  12 +}
  13 +
  14 +logger -t $0 Exécution du script
  15 +
  16 +PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
  17 +
  18 +preRequis md5sum sort awk uniq grep cut
  19 +
  20 +if [ ! $# -eq 1 ]; then
  21 + echo "Erreur !!!"
  22 + echo "Utilisation : $0 répertoire"
  23 + exit 1
  24 +fi
  25 +
  26 +FILE="/tmp/filesMd5sum"
  27 +REP="$1"
  28 +
  29 +if [ ! -d "$REP" ]; then
  30 + echo "Erreur !!!"
  31 + echo "$REP n'est pas un répertoire."
  32 + exit 1
  33 +fi
  34 +
  35 +rm -f "$FILE"
  36 +
  37 +for file in $(find "$REP" -type f); do
  38 + md5sum -b "$file" >> "$FILE"
  39 +done
  40 +
  41 +DOUBLON=0
  42 +
  43 +for file in $(cat "$FILE" | sort | awk '{print $1}' | uniq -d); do
  44 + DOUBLON=1
  45 + echo "Empreinte MD5 identique : $file"
  46 + grep $file "$FILE" | cut -d' ' -f2
  47 +done
  48 +
  49 +if [ "$DOUBLON" -eq 0 ]; then echo "Aucun doublon trouvé"; fi
  50 +
  51 +logger -t $0 Fin d\'exécution du script
  52 +
  53 +exit 0