2 votes

Différence entre dossiers

Comment puis-je comparer de manière récursive 2 dossiers avec la même structure.
En utilisant diff ou git diff à partir de la ligne de commande bash ?

6voto

laura Points 4445

Pour comparer 2 fichiers, nous utilisons la commande diff. Comment comparer 2 répertoires ? Plus précisément, nous voulons savoir quels fichiers/sous-répertoires sont communs, ceux qui sont uniquement dans un répertoire mais pas dans l'autre

diff dir1 dir2

Si vous n'êtes pas intéressé par les différences de fichiers, utilisez

diff -q dir1 dir2 | sort

diff trie sa sortie par ordre alphabétique selon le nom du fichier/sous-répertoire. Je préfère les regrouper en fonction de leur commune présence, et de savoir s'ils existent uniquement dans le premier ou le second répertoire. C'est pourquoi j'ai utilisé la commande sort après diff dans la commande ci-dessus.

Remarquez que par défaut, diff n'analyse pas les sous-répertoires pour comparer les fichiers et sous-répertoires à ce niveau. Pour changer son comportement et parcourir récursivement les sous-répertoires, ajoutez -r.

diff -qr dir1 dir2 | sort

J'espère que cela vous aide.

1voto

Enigmatic Points 73

Mon préféré pour un coup d'oeil rapide :

diff -Ewburq dossier1/ dossier2/

Listez les noms de fichiers (en ignorant tous les types de changements d'espaces).

Pour voir toute la différence dans un visualiseur agréable (en supprimant l'option -q)

diff -Ewbur dossier1/ dossier2/ | kompare -o -

Vous pourriez probablement trouver d'autres (meilleurs ?) outils de différenciation (meld, k3diff etc. ?)

Si vous le souhaitez, vous pouvez inclure les fichiers 'new' dans l'ensemble avec -N

1voto

kjohri Points 121
diff -Nur répertoire1 répertoire2

1voto

HMagdy Points 111

Tout simplement, vous pouvez faire:

git diff --no-index DOSSIER1 DOSSIER2

0voto

Serge Points 2665

Utilisez la commande suivante :

diff -r dossier1 dossier2

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X