Как сравнить файлы в разных папках в Unix?

2

Ниже приводится структура каталогов

 Folder1
   subFolder1
     File1.txt
     File2.txt
   subFolder2
     File3.txt
   subFolder3

 Folder2 
   subFolder1
     File1.txt
     File2.txt
   subFolder2
     File3.txt
     File4.txt
   subFolder3
     File5.txt

Я хочу сравнить содержимое каждого файла в папке Folder1 с соответствующим файлом в папке Folder2.

т.е. я хочу проверить содержимое Folder1 / subFolder1 / File1.txt с содержимым Folder2 / subFolder1 / File1.txt

Я использовал команду unix

     diff -b  Folder1/subFolder1/File1.txt   Folder2/subFolder1/File1.txt

Это работает! Но я хотел бы сделать это рекурсивно для каждого файла в подпапках.

Пожалуйста, предоставьте несколько указателей на это ...


источник
1
Ты пробовал --recursive?
Магнат

Ответы:

2

Без какой-либо опции, выполнение diffкоманды в двух каталогах скажет вам, какие файлы существуют только в одном, а не в другом, а какие являются общими файлами. Файлы, которые являются общими в обоих каталогах, анализируются, чтобы увидеть, отличаются ли и чем содержимое файла.

Чтобы сделать вложенные каталоги, вам нужно передать -rопцию, чтобы сделать рекурсивный поиск.

Просто запустите следующую команду, и вы получите желаемый результат:

diff -br /path/to/Folder1 /path/to/Folder2
Джайпал Сингх
источник
1
И -bкак вопрос?
Джонатан Леффлер
@JonathanLeffler Хороший улов! Исправлен ответ. :)
Jaypal Singh