Я хочу видеть, рекурсивно, файлы, которые отличаются в двух каталогах. Diff может сделать это, но он показывает мне различия между строками, чего я не хочу. Есть ли инструмент, который делает это, или способ сделать это с Diff (я прочитал справочную страницу, я ничего не видел)?
4 ответа
Как насчет
diff -rq DIR1 DIR2
или же
diff -rqb DIR1 DIR2
-r является рекурсивным
-q для краткости, и просто скажет вам, если файлы отличаются (то есть, он не будет показывать построчную разницу)
-b игнорирует пробелы
Вы ищете опцию -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
Один из способов сделать это -
diff dir1 dir1| grep "diff "
Он все равно будет выполнять построчное сравнение, но сравнение каждого файла начинается с «diff dir1/file dir2/file», поэтому при значении "diff" отображаются только эти строки (то есть файлы, которые отличаются).
Если вы пользователь emacs, проверьте ediff-каталоги. Вы можете увидеть различия в файлах, а затем углубиться в различия между строками, если вам нужно понять, почему они отличаются.