61 votes

Linux : Comparer la structure des répertoires sans comparer les fichiers

Quelle est la meilleure et la plus simple façon de comparer deux structures de répertoires sans comparer les données dans les fichiers ? Cela fonctionne bien :

diff -qr dir1 dir2_

Mais c'est vraiment lent parce qu'il faut aussi comparer les fichiers. Existe-t-il un commutateur pour diff ou un autre outil cli simple pour faire cela ?

3voto

jkshah Points 185

C'est la solution optimale

diff --brief -r dir1 dir2

Le commutateur --brief indique seulement si les fichiers diffèrent, et non les détails de la différence.

2voto

MDMarra Points 20260
ls > dir1.txt

ls > dir2.txt

Ensuite, il suffit de différencier les deux listes.

2voto

amhest Points 21

Cela a fonctionné pour mon besoin spécifique de trouver les fichiers manquants dans les arbres censés correspondre.

diff <( cd dir1; find * |sort ) <(cd dir2; find * | sort)

1voto

Anonymous Points 11

Utiliser "diff -qr" pour obtenir les différents fichiers et ensuite filtrer la comparaison des fichiers avec grep afin de n'obtenir que les noms de fichiers qui sont seulement dans un des répertoires.

diff -qr dir1 dir2 | grep -v "Files.*differ"

1voto

gerardw Points 111

Mise à jour 2020. Combiner les idées ci-dessus tout en évitant de faire peur. supprimer, Je suis allé avec

rsync -a --dry-run --itemize-changes source/ destination

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