Я ищу что-то, что будет сравнивать каталоги и файлы, как это делает Beyond Compare для Windows.
Это в основном для использования системы управления версиями, но мне нужно использовать его и для развертывания.
Я ищу что-то, что будет сравнивать каталоги и файлы, как это делает Beyond Compare для Windows.
Это в основном для использования системы управления версиями, но мне нужно использовать его и для развертывания.
Meld - это инструмент, который может сравнивать и объединять файлы и каталоги. Это графический интерфейс, аналог стандартного diff
и
patch
инструменты командной строки. (См. мужская разница и мужской патч для получения более подробной информации о них)
Кроме того, множество систем управления версиями (таких как bzr
или
git
) имеют возможность создавать различия между версиями.
Дифф - твой друг.
diff -ur path1 path2
Это позволит сравнить все файлы, которые являются общими для path1 и path2.
Если вы измените -ur
к -urN
тогда это также покажет содержимое файлов, которые присутствуют только в одном из путей.
"Beyond Compare" также доступен для Linux. Проверьте их URL для загрузки.
Их немецкий сайт находится по адресу http://www.beyondcompare.de/.
Используйте diff
команда:
diff -u file1 file2
diff -u
выбирает формат с несколькими строками контекста. Равнина diff file1 file2
перечислены только отличающиеся строки. Есть еще много вариантов для управления форматом вывода, игнорирования различий только с пробелами и т.д.
Если вы хотите записать выходные данные в файл, перенаправьте его:
diff -u file1 file2 >file1-file2.diff
Интерфейс, возможно, и не очень сексуальный, но он чрезвычайно мощный!
И если вы привыкли к другим * Commander (например, Norton или им подобным), вы не потеряетесь.
Вдохновленный эта запись в блоге.
Список различных файлов:
diff -qr folder1 folder2
Перечисление также содержимого:
diff -Naur folder1 folder2
Если эти два каталога находятся не на одном компьютере, rsync
возможно, это самое простое решение. Обычно rsync
используется для синхронизации каталогов, но вы можете запустить его в подробном и сухом режиме, поэтому в нем будут перечислены только файлы, которые необходимо будет изменить.
rsync -rvnc --delete folder1 server:/path/to/folder2
Ты можешь оммит c
если вы хотите сравнить файлы на основе временных меток и размеров файлов, чтобы ускорить все:
rsync -rvn --delete folder1 server:/path/to/folder2
Это графический интерфейс для diff для пользователей KDE (или, если вы не возражаете против использования Qt apps).
Существует также дирдифф для каталогов.
Krusader - это бесплатный инструмент (доступный в Центре программного обеспечения), который показывает содержимое папок в сравнении, и вы можете синхронизировать его с множеством различных опций. Вы можете фильтровать во время синхронизации и сравнения.
Чтобы сравнить содержимое файла, вы просто отмечаете два файла, выбираете "файл" и "сравнить содержимое", и они сравниваются по буквам. инструментом сравнения по умолчанию, используемым krusader, является инструмент KDE по умолчанию "Компаре". Вы можете настроить krusader на использование любого другого инструмента сравнения, например, одного из приведенных выше.
Это самое полное решение, которое я когда-либо находил, и оно очень удобно.И он поддерживает все функциональные клавиши, используемые midnight commander (синтаксис norton commander).
Я узнал о хашдип две недели назад. И у него есть несколько сильных преимуществ:
meld
, это хорошо работает для очень больших папок. Где meld
становится чрезвычайно медленным, а пользовательский интерфейс перестает отвечать (блокируется), hashdeep просто работает с постоянной скоростьюrsync
, hashdeep обнаруживает перемещенные файлы - файлы с тем же содержимым, только в другом каталоге.Подробный вывод выглядит следующим образом:
...foo/bar.txt: Known file not usedx/foo/M0824_2L.JPG: Moved from y/P1010998.JPGhashdeep: Audit failed Input files examined: 0 Known files expecting: 0 Files matched: 6233Files partially matched: 0 Files moved: 3695 New files found: 19257 Known files not found: 4713
Было бы удобно, если бы ** Графический инструмент ** позволял ** скрывать папки и файлы, которые идентичны **. Это значительно облегчило бы концентрацию на нечетных папках и файлах. Кто-нибудь знает инструмент, который поддерживает эту функцию?
Не знаком с Beyond Compare. Для этого используйте Total Commander в Windows. Он работает под управлением Wine, и я использую его таким образом в Mac. В Linux я использую Krusader, у которого есть каталоги синхронизации, похожие на Total Commander. Или Объедините деревья каталогов в основном с текстовыми файлами.
Вам нужен только список файлов или фактическое содержимое каждого файла?
Мне нужен список файлов и, если возможно, различное содержимое между файлами с одинаковым путем.
Взгляните на [унисон](https://www.cis.upenn.edu /~bcpierce/unison/index.html ). Beyond compare использует подход “универсальный магазин делает все”, в то время как unison фокусируется на обработке обхода дерева, сохранении состояния и распространении изменений, охватывая функции Beyond Compare путем делегирования таких вещей, как diff, 3-стороннее слияние и т.д. к любой вашей любимой программе, работающей на уровне файла. Unison - это бесплатное, очень надежное и зрелое программное обеспечение, способное быстро обнаруживать и синхронизировать огромные деревья через сеть между различными операционными системами и т.д. Сначала прочитайте документ, особенно в Windows.
в emacs есть инструмент сравнения каталогов. Как и все emacs, eye candy - это, ну, “что вообще означает eye candy?”, Но он показывает контекстную справку по клавишам, позволяет несколькими нажатиями клавиш проводить рекурсивный анализ, скрывать идентичные файлы или даже вложенные папки, интерактивно выбирать файлы, чтобы показать различия в цветовой кодировке с различными опциями, интерактивно объединять, распространяйте или выполняйте произвольные изменения в файлах, легко переходите к следующему файлу или каталогу, отслеживая состояние, со всеми обычными средствами редактирования.