Vergleichen Sie zwei Ordner mit vielen Dateien im Inhalt

103

Haben Sie zwei Ordner mit ca. 150 Java-Eigenschaftendateien.

In einem Shell-Skript können Sie beide Ordner vergleichen, um festzustellen, ob in einem der beiden Ordner eine neue Eigenschaftendatei vorhanden ist und welche Unterschiede zwischen den Eigenschaftendateien bestehen.

Die Ausgabe sollte in einem Berichtsformat erfolgen.

vetri02
quelle

Antworten:

201

So erhalten Sie eine Zusammenfassung der neuen / fehlenden Dateien und welche Dateien sich unterscheiden:

diff -arq folder1 folder2

abehandelt alle Dateien als Text, rrekursiv durchsuchte Unterverzeichnisse, qmeldet "kurz", nur wenn sich die Dateien unterscheiden

reko_t
quelle
@reko_t gibt es eine Möglichkeit, dies überJava
Kasun Siyambalapitiya
27

diff -r Dies wird Ihnen mitteilen, ob Dateien hinzugefügt oder gelöscht wurden und was in den geänderten Dateien geändert wurde.

John Kugelman
quelle
5

ich benutzte

diff -rqyl folder1 folder2 --exclude=node_modules

in meinen nodejs apps.

Melvin
quelle
0

Könnten Sie verwenden dircmp?

Toolkit
quelle
-1

Der Befehl Diff in Unix wird verwendet, um die Unterschiede zwischen Dateien (alle Typen) zu ermitteln. Da das Verzeichnis auch ein Dateityp ist, können die Unterschiede zwischen zwei Verzeichnissen mithilfe von diff-Befehlen leicht ermittelt werden. Für weitere Optionen verwenden Sie man diff auf Ihrer Unix-Box.

 -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)'.

und es gibt noch viel mehr.

Sachin Chourasiya
quelle