Как сравнить две папки в Linux, когда они почти одинаковы?

2721
Deqing

Обычно я использую meldдля сравнения папок, однако, это не удобно, когда в папке много подпапок, потому что я должен щелкнуть в каждой подпапке, чтобы увидеть, есть ли какая-либо разница.

Есть ли инструмент для сравнения папок, которые отображают только различия?

1

2 ответа на вопрос

2
ernie

Это будет сделано из командной строки diff, и маленький grep выдаст вам список различных файлов, например:

diff -r dir1 dir2 | grep -e "Only|diff" 

Очевидно, может быть улучшено., ,

Ну, `diff -r dir1 dir2` уже имеет ожидаемый результат, спасибо. Deqing 11 лет назад 0
2
Thijs

Для приятного визуального сравнения я хотел бы использовать два файла контрольных сумм md5 и vimdiff.

Это дает дополнительный бонус, заключающийся в простоте сравнения двух каталогов на двух разных серверах.

Он только показывает, какие файлы отличаются, а не внутренние различия.

Чтобы сравнить каталоги / etc / на серверах sr1 и sr2:

(На первом сервере :)

for i in (find /etc/ -print); do md5sum $i; done | awk '' | sort >  ~/tmp/etc-sr1.txt 

(на втором сервере :)

for i in (find /etc/ -print); do md5sum $i; done | awk '' | sort >  ~/tmp/etc-sr2.txt 

scp ~ / tmp / etc-sr2.txt sr1: tmp / etc-sr2.txt

(На первом сервере :)

vimdiff ~ / tmp / etc-sr1.txt ~ / tmp / etc-sr2.txt

Похожие вопросы