1

У меня есть 2 каталога, которые должны содержать те же файлы и ту же структуру каталогов.

Я думаю, что в одном из этих каталогов чего-то не хватает.

Используя оболочку bash, можно ли сравнить мои каталоги и посмотреть, отсутствуют ли в одном из этих файлов файлы, присутствующие в другом?

Tnx

Andrea

2 ответа2

3

diff может самостоятельно просматривать каталоги, а не анализировать вывод ls , find или stat

diff -qr dir1 dir2 | sort

Вы получите вывод, подобный следующему:

Only in dir2: file3

0

Вероятно, самый простой способ - использовать подстановку команд командой diff :

diff <(cd dir1 && find | sort) <(cd dir2 && find | sort)

Это покажет различия в списке файлов, если вы действительно хотите сравнить, если файл действительно отличается, то вы можете предпочесть diff -brief -rb dir1 dir2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .