vendredi 31 décembre 2010

Comparaison récursive de répertoire en ligne de commande sous linux

Tout est dans le titre.

Après des essais divers avec diff -Narq, rsync dry-run, voici un moyen élégant et efficace :

comm -3 <(find /source -type f | sort)\
        <(find /dest -type f | sort)

comm compare deux fichiers (-1 affiche les lignes communes entre les deux; -2 les lignes uniquement dans le 1er fichier, -3 les lignes uniquement dans le 2ème fichier)
Ainsi, la commande ci dessus affichera les fichiers présents uniquement dans le répertoire /dest.

Aucun commentaire:

Enregistrer un commentaire