Commit 9f6291e4f2311e13a8693b81e5a5ec1a48dd6782
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 |