Comparez deux dossiers contenant de nombreux fichiers dans le contenu

103

Avoir deux dossiers avec env. 150 fichiers de propriétés java.

Dans un script shell, comment comparer les deux dossiers pour voir s'il existe un nouveau fichier de propriétés dans l'un ou l'autre et quelles sont les différences entre les fichiers de propriétés.

La sortie doit être dans un format de rapport.

vetri02
la source

Réponses:

202

Pour obtenir un résumé des fichiers nouveaux / manquants et des fichiers qui diffèrent:

diff -arq folder1 folder2

atraite tous les fichiers comme du texte, rrecherche récursivement dans les sous-répertoires, qsignale «brièvement», uniquement lorsque les fichiers diffèrent

reko_t
la source
@reko_t existe-t-il un moyen d'exécuter cela viaJava
Kasun Siyambalapitiya
27

diff -r le fera, vous indiquant à la fois si des fichiers ont été ajoutés ou supprimés, et ce qui a changé dans les fichiers qui ont été modifiés.

John Kugelman
la source
5

j'ai utilisé

diff -rqyl folder1 folder2 --exclude=node_modules

dans mes applications nodejs.

Melvin
la source
0

Pourriez-vous utiliser dircmp?

boîte à outils
la source
-1

La commande Diff sous Unix est utilisée pour trouver les différences entre les fichiers (tous types). Puisque le répertoire est également un type de fichier, les différences entre deux répertoires peuvent être facilement déterminées en utilisant les commandes diff. Pour plus d'options, utilisez man diff sur votre boîte unix.

 -b              Ignores trailing blanks  (spaces  and  tabs)
                 and   treats  other  strings  of  blanks  as
                 equivalent.

 -i              Ignores the case of  letters.  For  example,
                 `A' will compare equal to `a'.
 -t              Expands <TAB> characters  in  output  lines.
                 Normal or -c output adds character(s) to the
                 front of each line that may adversely affect
                 the indentation of the original source lines
                 and  make  the  output  lines  difficult  to
                 interpret.  This  option  will  preserve the
                 original source's indentation.

 -w              Ignores all blanks (<SPACE> and <TAB>  char-
                 acters)  and  treats  all  other  strings of
                 blanks   as   equivalent.    For    example,
                 `if ( a == b )'   will   compare   equal  to
                 `if(a==b)'.

et il y en a beaucoup plus.

Sachin Chourasiya
la source