Как сравнить два каталога с использованием diff при игнорировании несуществующих файлов?
Я хотел бы использовать diff
для сравнения двух каталогов для разных файлов, используя параметр -q
для краткого вывода. Однако выход загроможден множеством файлов, которые существуют только в одном каталоге, но не в другом. Могу ли я заставить diff
(или использовать другой инструмент) только показывать файлы, которые отличаются и существуют в обоих каталогах?
Текущая команда, которую я использую,
diff -q <dir1> <dir2>
Любые идеи приветствуются.
Ответы
Ответ 1
Он печатает кучу строк, например
Only in dir1/blah: blah
правильно? Так что просто выбросьте их с помощью grep.
LC_ALL=C diff ... | grep -v '^Only in'
LC_ALL=C
должен убедиться, что будет напечатано стандартное сообщение "Только в", а не какой-либо перевод.
Ответ 2
Самый простой способ, который я нашел, - использовать:
diff -N -q <dir1> <dir2>