Мне нужно сравнить две папки, чтобы найти файлы, которые либо:
- другой размер и / или измененная дата / время
- отсутствует от одного
Я не могу запустить diff
для двух папок в моей ситуации. Мой план состоял в том, чтобы использовать find
в обеих папках и сохранить выходные данные в два текстовых файла, а затем сравнить два текстовых файла, используя diff
.
Я предполагаю, что это будет работать, но нужно быть уверенным, потому что мои исходные / целевые каталоги огромны, и если мой тест не показывает различий или не находит всех различий, у меня не было бы возможности узнать, сработало ли это или нет.
Если две папки точно такие же, я предполагаю, что это будет работать. Но я сомневаюсь, что произойдет, если в одной папке будет много более сложных подкаталогов / файлов. Смогет ли diff
понять вывод печати структуры папок?
Например, я проведу инвентаризацию папки за один день.
$ find /path/to/folder -exec ls -ld {} \; > inventory-20181101.txt
...
Я буду изменять кучу вещей, включая добавление, удаление, редактирование файлов и добавление или удаление папок и подпапок. Тогда в другой день я возьму другой инвентарь.
$ find /path/to/folder -exec ls -ld {} \; > inventory-20181102.txt
...
Тогда я буду различать два файла.
$ diff inventory-20181101.txt inventory-20181102.txt
Я предполагаю, что это будет работать, если не было никаких изменений или изменения были незначительными, как просто изменение файлов. Но что произойдет, если я добавлю в нее 5 уровней вложенных папок, а затем 100 файлов и удалю еще одну папку верхнего уровня. Смогут ли diff
найти нужные папки?