16

Я хочу видеть, рекурсивно, файлы, которые отличаются в двух каталогах. Diff может сделать это, но он показывает мне различия между строками, чего я не хочу. Есть ли инструмент, который делает это, или способ сделать это с Diff (я прочитал справочную страницу, я ничего не видел)?

4 ответа4

29

Как насчет

diff -rq DIR1 DIR2

или же

diff -rqb DIR1 DIR2

-r является рекурсивным

-q для краткости, и просто скажет вам, если файлы отличаются (то есть, он не будет показывать построчную разницу)

-b игнорирует пробелы

2

Вы ищете опцию -q :

dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
> 
> 
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b
1

Один из способов сделать это -

diff dir1 dir1| grep "diff "

Он все равно будет выполнять построчное сравнение, но сравнение каждого файла начинается с «diff dir1/file dir2/file», поэтому при значении "diff" отображаются только эти строки (то есть файлы, которые отличаются).

1

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

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