Сравните две папки с большим количеством файлов внутри содержимого

Имеют две папки с ок. 150 файлов свойств java.

В оболочке script, как сравнить обе папки, чтобы увидеть, есть ли какой-либо новый файл свойств в любом из них и каковы различия между файлами свойств.

Выход должен быть в формате отчета.

Ответ 1

Чтобы получить сводку по новым/отсутствующим файлам и по разным файлам:

diff -arq folder1 folder2

a рассматривает все файлы как текст, r рекурсивно ищет подкаталоги, q сообщает "кратко", только если файлы различаются

Ответ 2

diff -r сделает это, сообщив вам обоим, если какие-либо файлы были добавлены или удалены, и что изменилось в файлах, которые были изменены.

Ответ 3

Я использовал

diff -rqyl folder1 folder2 --exclude=node_modules

в моих приложениях nodejs.

Ответ 4

Не могли бы вы использовать dircmp?

Ответ 5

Команда Diff в Unix используется для поиска различий между файлами (все типы). Поскольку каталог также является типом файла, различия между двумя каталогами можно легко определить с помощью команд diff. Для получения дополнительной опции используйте man diff в вашем блоке 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 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)'.

и их еще много.