#!/bin/sh # nicofo - http://nicofo.tuxfamily.org # 24/06/07 #compare 2 dossiers et affiche les différences #par rapport aux NOMS des fichiers [ -z "$1" ] && read -p "Dossier 1 : " DIR1 || DIR1="$1" [ ! -d "$DIR1" ] && echo "'$DIR1' n'est pas un dossier !" && exit 1 [ -z "$2" ] && read -p "Dossier 2 : " DIR2 || DIR2="$2" [ ! -d "$DIR2" ] && echo "'$DIR2' n'est pas un dossier !" && exit 1 file1="/tmp/compDossier1" file2="/tmp/compDossier2" #ajouter le cas échéant un "/" final aux noms de dossier [ -z "$(echo "$DIR1"|grep "/$")" ] && DIR1="$DIR1/" [ -z "$(echo "$DIR2"|grep "/$")" ] && DIR2="$DIR2/" #remplacer "/" par "\/" (pour le sed) DIR1m=$(echo "$DIR1"|sed "s#/#\\\/#g") DIR2m=$(echo "$DIR2"|sed "s#/#\\\/#g") #lister les 2 dossiers find "$DIR1" | sed "s/^$DIR1m//" | sort >$file1 find "$DIR2" | sed "s/^$DIR2m//" | sort >$file2 #comparer echo -e "\n\033[1;34mCe que \"$DIR1\" contient en plus :\033[0m" diff $file1 $file2 |grep '^<'|cut -d' ' -f1 --complement echo -e "\n\033[1;34mCe que \"$DIR2\" contient en plus :\033[0m" diff $file2 $file1 |grep '^<'|cut -d' ' -f1 --complement rm $file1 $file2