7 способов сравнения файлов по содержимому в Windows или Linux [АйТи бубен]
Веб-мастерам или владельцам сайтов часто бывает необходимо сравнить два файла по содержимому. Из этой статьи вы узнаете как сравнить два файла между собой. Здесь описаны все известные мне способы для сравнения текстовых файлов и скрипты (html, css, php и так далее).
Способ 1. Meld
Meld — графический инструмент для получения различий и слияния двух файлов, двух каталогов. Meld — визуальный инструмент сравнения и объединения файлов и каталогов для Linux. Meld ориентирован, в первую очередь, для разработчиков. Однако он может оказаться полезным любому пользователю, нуждающемуся в хорошем инструменте для сравнения файлов и директорий.
В Meld вы можете сравнивать два или три файла, либо два или три каталога. Вы можете просматривать рабочую копию из популярных систем контроля версий, таких, таких как CVS, Subversion, Bazaar-NG и Mercurial. Meld представлен для большинства linux дистрибутивов (Ubuntu, Suse, Fedora и др. ), и присутствует в их основных репозиториях.
# apt install meld
Meld существует и под Windows, но я не рекомендую его использовать в этой операционной системе.
Способ 2. Сравнение содержимого двух файлов в программе WinMerge.
Бесплатная программа WinMerge позволяет сравнивать не только содержимое файлов, она также сравнивает содержимое целых папок. WinMerge является Open Source инструментом сравнения и слияния для Windows. WinMerge может сравнивать как файлы, так и папки, отображая различия в визуальной текстовой форме, которые легко понять и обработать.
После установки, открываете пункт меню «Файл» — «Открыть». Выбираете файлы для сравнения. Для этого нажимаете на кнопку «Обзор» и выбираете файл. Выбрав файлы, нажимаете на кнопку «ОК».
В WinMerge можно также редактировать файлы. После закрытия окна сравнения, программа предложит сохранить изменения в файлах.
Способ 3. diff
diff — утилита сравнения файлов, выводящая разницу между двумя файлами.
Способ 4. Kompare
Kompare — отображает различия между файлами. Умеет сравнивать содержимое файлов или каталогов, а также создавать, показывать и применять файлы патчей. Kompare — это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Вот ее основные особенности:
Поддержка нескольких форматов diff;
Поддержка сравнение файла linux и каталогов;
Поддержка просмотра файлов diff;
Настраиваемый интерфейс;
Создание и применение патчей к файлам.
Способ 5. Сравнение файлов в программе Total Commander
В Total Commander существует инструмент сравнения файлов по содержимому, где можно не только сравнить содержимое, но и редактировать его и копировать из одного файла в другой.
После запуска Total Commander – в одной из панелей выбираете (клавиша Insert) первый файл для сравнения – во второй панели открываете папку со вторым файлом и ставим на него курсор.
Для внесения изменений в файл достаточно нажать на кнопку «Редактировать». В программе доступны функции копирования и отката, поиска и изменение кодировки. Если вы внесли изменения в файл, то после закрытия окна сравнения, будет предложено сохранить изменения.
Способ 6. Сравнение файлов в Notepad++
Поддерживаемые операционные системы: Windows, возможен запуск в Linux
Notepad++ не умеет сравнивать файлы. Для появления этого функционала в Notepad++ нужно установить плагин «Compare».
Запускаете редактор – переходите в пункт меню «Плагины» — «Plugin Manager» — «Show Plugin Manager». В новом окне выбираете плагин «Compare» и жмёте кнопку «Install».
После установки плагина откройте два файла и выбирите меню «Плагины» — «Compare» — «Compare (Alt+D)». Результат сравнения файлов будет представлен в отдельных панелях. Напротив строк, в которых найдены отличия будет стоять предупреждающий знак.
Способ 7. Сравнение файлов с помощью командной строки Windows
Сравнение с помощью командной строки Windows (cmd.exe) не позволяет редактировать файлы, но просто сравнить содержимое файлов, используя этот способ, вы можете.
Для вызова командной строки Windows перейдите «Пуск» — «Все программы» — «Стандартные» — «Командная строка» или нажмите клавиш «Windows+R», введите cmd и нажмите клавишу Enter.
В командной строке введите команду:
fc /N путь к первому файлу путь ко второму файлу
Способ 8. Сравнение двух текстовых файлов утилитой comm в Unix
Unix утилита comm входит в стандартную поставку всех Unix- дистрибутивов, таких как FreeBSD, GNU/Linux (пакет GNU Coreutils) и другие.
Программа comm используется для построчного сравнения двух текстовых файлов с отсортированными по алфавиту строками, в соответствии с используемой локалью. Для сортировки можно использовать утилиту sort.
При вызове без параметров рассматриваемая утилита будет выводить строки в трех столбцах: первый столбец будет содержать строки, присутствующие лишь в файле 1, второй столбец — строки, присутствующие лишь в файле 2, а третий столбец — строки, присутствующие в обоих файлах. Утилита поддерживает параметры -1, -2 и -3, позволяющие не выводить столбцы под соответствующими номерами. Статус завершения работы утилиты не зависит от результата распределения строк по столбцам; в случае успешного распределения строк утилита завершает работу с нулевым статусом, в случае возникновения любой ошибки — с ненулевым.
Базовый синтаксис команды выглядит следующим образом:
$ comm [параметры] <файл 1> <файл 2>
Параметры запуска: -1 Подавить вывод первой колонки; -2 Подавить вывод второй колонки; -3 Подавить вывод третьей; -i Нечувствительное к регистру сравнение строк.
Примеры запуска утилиты comm для сравнения двух файлов по содержимому:
comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
запуск comm с предварительной сортировкой
comm <(sort file1.
0-9]//g' file2.txt | sort)
Какой программой можно сравнить файлы — Хабр Q&A
Total Commander умеет сравнивать 2 каталога. Здесь описано как
Ответ написан
Комментировать
бинарные файлы в Windows можно сравнить стандартной программой fc, команда fc /? выдает справку по параметрам. если разница есть, то покажет, в каких именно байтах, если разницы нет, то так и напишет.
я обычно пользуюсь так: fc /b file1.file file2.file
Ответ написан
Комментировать
Комментировать
diff -q 1Каталог 2КаталогЗЫ. Для винды есть порт всех линуховых утилит.
Ответ написан
FAR Manager [2.0] с плагином Advanced Compare умеет сравнивать каталоги по содержимому в том числе бесплатнее Windows Commander’a.
Различающиеся файлы будут выделены.
Ответ написан
Комментировать
Tortoise Merge, часть TortoiseSvn
добавляет в контекстное меню «Diff», если выделены 2 файла.
Ответ написан 2011, в 20:47″> более трёх лет назад
Reasonable NoClone — сравнивает файлы по разным параметрам, оценивает похожесть файлов. (после восстановления данных с убитого диска использовал для удаление дубликатов)
Но она платная
Ответ написан
Комментировать
+1 за Total Commander. Сравнивает как папка-папка, так и папка-ftp.
Ответ написан
Комментировать
Комментировать
BeyondCompare 3, платная, но того стоит. Много плюшек.
Ответ написан
Комментировать
Вот подборка бесплатных программ для сравнения файлов, среди которых отдельного и достойного внимания заслуживают KDIFF3 — утилита может работать сразу с тремя файлами для сравнения или с тремя каталогами — их она тоже умеет сравнивать. http://www.loadboard.ru/index.php?option=com_tag&t…
Ответ написан
Комментировать
в свое время написал прогу для слива параметров файлов (md5, размер, даты итп) в папках и подпапках в csv (или просто в текстовик с разделителями) а потом сравниваю эти текстовики в kDiff. Удобство в том что полученный csv легко импортируется в сторонние программы где возможна последующая автоматизация действий в случае если файл изменился или не изменился.
Ответ написан
Комментировать
git diff
Ответ написан
Комментировать
FC — сравнение файлов.
Команда FC позволяет сравнить содержимое двух или нескольких файлов.
Формат командной строки:
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn][диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2
или
FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2
/A — Вывод только первой и последней строк для каждой группы различий.
/B — Сравнение двоичных файлов.
/C — Сравнение без учета регистра символов.
/L — Сравнение файлов в формате ASCII.
/Lbn — Максимальное число несоответствий для заданного числа строк.
/N — Вывод номеров строк при сравнении текстовых файлов ASCII.
/OFF[LINE] — Не пропускать файлы с установленным атрибутом «Автономный».
/T — Символы табуляции не заменяются эквивалентным числом пробелов.
/U — Сравнение файлов в формате UNICODE.
/W — Пропуск пробелов и символов табуляции при сравнении.
/nnnn — Число последовательных совпадающих строк, которое должно встретиться после группы несовпадающих.
[диск1:][путь1]имя_файла1 — Указывает первый файл или набор файлов для сравнения.
[диск2:][путь2]имя_файла2 — Указывает второй файл или набор файлов для сравнения.
Для получения краткой справки используется параметр /?: FC /?
Если в командной строке не задан параметр /B то сравнение выполняется построчно, с выводом результатов в виде имен файлов и несовпадающих строк:
Сравнение файлов FILE1. TXT и FILE2.TXT
***** FILE1.TXTline
line1
line2
head
***** FILE2.TXT
строка1
строка2
head
*****
В приведенном примере не совпало содержимое первых 2-х строк в файлах FILE1.TXT и FILE2.TXT. Кроме не совпавших строк, в результатах сравнения отображается первая совпавшая после них строка ( head )
Если выполняется команда сравнения двоичных файлов FC /B, то независимо от формата данных, выполняется побайтное сравнение с выдачей результатов в виде:
Сравнение файлов file1.txt и file2.txt
00000001: 6C 31
00000002: 69 44
Строка 00000001: 6C 31 — означает, что смещение от начала файла равно 00000001 . В файле file1.txt поданному смещению находится байт с шестнадцатеричным значением 6C, а в файле file2.txt — 31
Примеры использования FC.EXE:
fc /b etalon.exe C:\windows\system32\notepad.exe — сравнить двоичный файл etalon. exe из текущего каталога с файлом C:\windows\system32\notepad.exe
fc /b D:\windows\system32\dllcache\*.exe D:\windows\system32\*.* | more — сравнить группы двоичных файлов с расширением exe из каталога D:\windows\system32\dllcache\ с файлами из каталога D:\windows\system32\. Благодаря использованию команды FC в цепочке с командой more, выдача результатов на экран выполняется в постраничном режиме.
fc C:\Documents\*.txt D:\documents\*.* > C:\compare.txt — сравнить текстовые файлы в разных каталогах с записью результатов в файл C:\compare.txt.
FC /LB2 C:\Documents\*.txt D:\documents\*.* > C:\compare.txt — как и в предыдущем случае, но в результатах сравнения будут отображаться не более 2-х несовпадений.
Параметр /nnn позволяет управлять продолжением выполнения сравнения файлов. Например, имеется 2 текстовых файла file1.txt и file2.txt, в которых 1-я и 4-я строки различаются, а 2-я и 3-я — совпадают. В зависимости от значения /nnn утилита FC.EXE может либо прекратить дальнейшее сравнение файлов, либо продолжить:
FC /2 file1.txt file2.txt — после первой не совпавшей строки имеются 2 совпавшие ( 2-я и 3-я строки — одинаковые) — сравнение файлов будет продолжено.
FC /3 file1.txt file2.txt — параметр /3 требует наличия 3- х совпадающих строк после несовпадения, поэтому дальнейшее сравнение файлов будет прекращено.
FC /A /L /C file1.txt file2.txt — выполнить сравнение текстовых файлов в формате ASCII , без учета регистра символов, с отображением только первой и последней строк для каждой группы различий.
В командных файлах, для проверки результата сравнения файлов используется анализ значения переменной ERRORLEVEL.
По результату выполнения операции сравнения, переменная ERRORLEVEL может принимать следующие значения:
0 — файлы совпали.
1 — файлы не совпали
2 — ошибка открытия файла ( файл не найден)
Пример командного файла :
@echo off
fc file1. txt file2.txt > nul
if ERRORLEVEL 1 goto Different
echo Файлы совпадают
REM подпрограмма, выполняющаяся при совпадении файлов. . .
exit
:Different
echo Файлы НЕ совпадают
REM подпрограмма, выполняющаяся при различии файлов. . .
Сравнение файлов, папок и текстовых источников
IntelliJ IDEA позволяет просматривать различия между любыми файлами, папками, текстовыми источниками или объектами базы данных, а также между локальными файлами и их версиями репозитория.
Сведения о том, как исследовать различия между двумя версиями файла или папки, см. в разделе Сравнение версий файлов и папок.
Сравнение файлов
IntelliJ IDEA отображает различия в средстве просмотра различий для файлов:
Зеленый: добавлено
Синий: изменено
Серый: удалено
Чтобы применить изменения, используйте кнопки с изображением шеврона и . » data-primary_xwin=»Ctrl» data-primary_eclipse=»Ctrl» data-primary=»Ctrl»> Ctrl — кнопки превратятся в .
Сравните два или три файла
В окне инструмента «Проект» выберите файлы, которые вы хотите сравнить, и выберите «Сравнить файлы» или нажмите Ctrl+D .
В качестве альтернативы выберите один файл, выберите «Сравнить с» в его контекстном меню и выберите файл, находящийся вне вашего проекта.
Если вы сравниваете два файла и хотите добавить к сравнению третий файл, щелкните правой кнопкой мыши левую или правую панель, выберите «Переключиться на трехстороннее средство просмотра» и загрузите нужный файл, нажав «Выбрать файл».
Сравнить активный редактор с буфером обмена
Сравнить активный редактор с файлом проекта
В окне инструмента «Проект» щелкните правой кнопкой мыши файл, который вы хотите сравнить с текущим открытым файлом.
Выберите «Сравнить файл с редактором» в контекстном меню.
Сравнить активный редактор с любым файлом. с действием редактора, позволяющим выбрать любой файл и сравнить его с активным редактором.
Чтобы добавить это действие в контекстное меню вкладки редактора:
Нажмите Ctrl+Alt+S , чтобы открыть настройки IDE, и выберите Внешний вид и поведение | Меню и панели инструментов.
На правой панели разверните узел всплывающего меню вкладки «Редактор», выберите место, куда вы хотите добавить новое действие, нажмите и выберите «Добавить действие…».
Найдите и добавьте действие «Сравнить файл с редактором» в разделе Системы контроля версий | Различия и слияние.
Сравните локальный файл с его версией репозитория
Выберите измененный файл в любом месте окна инструмента контроля версий.
Щелкните на панели инструментов или нажмите Ctrl+D .
Советы по повышению производительности
- Назначение сочетаний клавиш для «применить» и «добавить»
Чтобы назначить сочетания клавиш для действий «применить» и «добавить», откройте страницу «Раскладка клавиш» в настройках IDE Ctrl+Alt+S и найдите их действия в системах контроля версий | Различия и слияние.
- Поменять местами
Когда вы сравниваете два файла или файл с содержимым буфера обмена, вы можете поменять местами стороны, щелкнув на панели инструментов.
- Сравнение файлов из командной строки
Вы можете сравнить два или три файла из командной строки и использовать IntelliJ IDEA в качестве внешнего инструмента сравнения. Дополнительные сведения см. в разделе Сравнение файлов из командной строки.
Сравнение папок
IntelliJ IDEA позволяет сравнивать файлы в двух папках по их размеру, содержимому или отметке времени. Различия отображаются в средстве просмотра различий для папок:
На верхней панели перечислены все файлы в выбранных папках, а на нижней панели показаны различия между двумя версиями выбранного файла (см. Сравнение файлов).
Вы также можете открыть средство просмотра различий, не запуская IntelliJ IDEA. Выполните следующую команду:
<путь к исполняемому файлу IntelliJ IDEA> diff <путь_1> <путь_2>
, где путь_1
и путь_2
— это пути к папкам, которые вы хотите сравнить.
Сравнить папки
Выберите папки, которые вы хотите сравнить, в окне инструментов проекта.
В контекстном меню выберите «Сравнить каталоги» или нажмите Ctrl+D .
Используйте следующие кнопки панели инструментов для фильтрации списка:
: нажмите, чтобы отобразить файлы, которые присутствуют в левой папке, но отсутствуют в правой.
: нажмите, чтобы отобразить файлы, которые есть в правой папке, но отсутствуют в левой.
: нажмите, чтобы отобразить файлы, которые присутствуют в обеих папках, но чье содержимое, метка времени или размер различаются.
: нажмите, чтобы отобразить файлы, находящиеся в обеих папках и идентичные в отношении параметра, выбранного в раскрывающемся списке «Сравнить».
Синхронизация папок
IntelliJ IDEA позволяет синхронизировать содержимое двух папок или применять изменения из одной папки в другую.
Для каждого файла нажимайте значок в столбце *, пока не установите действие, которое нужно выполнить над этим файлом.
: скопировать выбранный элемент из левой папки в правую.
Если такой файл уже существует в нужной папке, он будет перезаписан.
: скопировать выбранный элемент из правой папки в левую. Если такой файл уже существует в левой папке, он будет перезаписан.
: никаких действий выполняться не будет (два файла идентичны).
: никаких действий выполняться не будет (это два разных файла).
: удалить выбранный элемент.
Выполните одно из следующих действий:
Чтобы применить выбранное действие к текущему элементу, нажмите кнопку Синхронизировать выбранное на панели инструментов или нажмите Введите .
Чтобы применить выбранные действия ко всем элементам, нажмите кнопку Синхронизировать все на панели инструментов.
Сравнить разные файлы в двух папках
Иногда в одной папке может находиться файл, а в другой папке другой файл с похожим именем (например, VCS_library_1.4 и VCS_library_1.5). Это могут быть версии одного и того же файла, который вы хотите сравнить. Также может возникнуть ситуация, когда вы думаете, что файл был переименован, но в остальном он идентичен файлу в другой папке. IntelliJ IDEA позволяет сравнивать два файла, один из которых находится в правой папке, а другой — в левой, даже если такие файлы рассматриваются как разные объекты.
Это действие доступно только для файлов в папках с одинаковым относительным путем.
Выберите файлы, которые вы хотите сравнить, на левой и правой панелях.
Щелкните значок «Сравнить новые файлы друг с другом» на панели инструментов.
Различия между выбранными файлами будут отображаться на нижней панели.
Сравните любые текстовые источники
Помимо сравнения содержимого файлов или папок, вы можете открыть пустое средство просмотра различий и вставить любой текст или перетащить файлы в правую и левую панели для сравнения. Это может быть полезно, например, если вы хотите сравнить вывод консоли приложения с выводом того же приложения, хотя и немного измененным.
Нажмите Ctrl+Shift+A и начните вводить текст, чтобы найти действие «Открыть пустое окно различий».
Вставьте любой текст, который вы хотите сравнить, на левой и правой панелях.
Щелкните правой кнопкой мыши левую или правую панель и выберите «Переключиться на трехстороннее средство просмотра», чтобы сравнить любые три источника текста.
Советы по повышению производительности
- Назначение ярлыка для действия «Открыть пустое различие»
На странице «Раскладка клавиатуры» в настройках IDE Ctrl+Alt+S , найдите это действие в разделе Системы контроля версий | Различия и слияние.
- Поменять стороны
Вы можете поменять стороны в средстве просмотра различий, нажав значок на панели инструментов.
- Открыть различия в отдельном окне
По умолчанию средство просмотра различий открывается на вкладке редактора. Вы можете настроить параметры таким образом, чтобы средство просмотра открывалось в отдельном окне. На странице «Дополнительные параметры» настроек IDE Ctrl+Alt+S отключите параметр «Открыть отличия как вкладку редактора».
Последнее изменение: 16 августа 2022 г.
Emmet Annotations
Рекомендация по программному обеспечению — Какой инструмент для сравнения файлов я могу использовать в OS X?
Спросил
Изменено 6 лет, 10 месяцев назад
Просмотрено 191k раз
77
голосов
Моим любимым инструментом для сравнения файлов был Beyond Compare, но так как я недавно перешел на OS X, я больше не могу его использовать и ищу альтернативу, желательно бесплатную.
Обновление: я сделал ошибку, не указав, что я также ищу инструмент, который выполняет сравнение каталогов, а не только файлов. Поскольку это может сделать уже ответы недействительными, я задал еще один вопрос. Какие инструменты сравнения каталогов я могу использовать в OS X?
- рекомендации по программному обеспечению
- uti
- macos
2
23
голосов
Beyond Compare 4 теперь работает и на OSX. Посетите http://www.scootersoftware.com/beta.php?zz=beta4_whatsnew
1
59
голосов
Это совокупность ответов, опубликованных на удаленном клоне SO, Graphical diff for Mac OS X. Он включает ссылки на каждый продукт и текущую цену с момента последнего редактирования в долларах США.
Обратите внимание, что любые ссылки на SO будут видны только пользователям, которые могут просматривать удаленный контент, для чего требуются либо привилегии модератора, либо репутация 10 000 на этом сайте.
- Sourcegear DiffMerge, условно-бесплатное ПО
- KDiff3 Иоахима Эйбла, бесплатно
- Калейдоскоп Black Pixel, $69,99
- TextWrangler от Bare Bones Software, бесплатно
- Слияние Араксиса, $129 + $29/год
- DeltaWalker от Deltopia, $39,95/$75,95
- Слияние Кая Вилладсена, бесплатно
- Дифффорк Weipin Xia, $26
- Ревущий дифференциал Biscade, бесплатно
- tkdiff, бесплатно
Были и другие предложения, которые не были самостоятельными инструментами сравнения, которые я перечислю ниже:
- Это (Beyond Compare) хорошо работает в Wine, но мне не хватает интеграции с оболочкой.
— Данял Айтекин, 11 май 2012, 13:01
- Eclipse также имеет довольно приличный механизм сравнения. – ДжиБи, 9 окт. 2008 г., 12:45
- P4Merge, который поставляется с Perforce, довольно хорош и поставляется бесплатно с клиентом perforce. Как терминал, так и версия с графическим интерфейсом. — amok, 7 июл. ’10, 23:19
- Мне пришлось использовать Vim, потому что большинство упомянутых здесь различий не понимают UTF-8. — user184880, 6 окт. 2009 г., 9:56
Это завершает слияние этого потока с этим, как описано здесь.
5
26
голосов
FileMerge поставляется вместе с XCode, но я предпочитаю платный Kaleidoscope.
6
13
голосов
Я использую Калейдоскоп. Или просто старый diff
из CLI
11
голосов
Это не очень хорошо, но FileMerge в комплекте с ОС можно запустить из командной строки как opendiff a.
. txt b.txt
0
7
голосов
DiffMerge от Sourcegear прост и бесплатен.
1
5
голосов
Вы можете использовать diff
, если используете командную строку.
5
голосов
Changes.app имеет отличную репутацию и множество функций. Kaleidoscope тоже великолепен и имеет красиво оформленный пользовательский интерфейс.
Также стоит упомянуть, что если вы занимаетесь программированием, Xcode 4 также имеет встроенные инструменты визуального сравнения.
2
3
голосов
Есть еще DeltaWalker.
Это 40 долларов, и есть пробная версия.
3
голосов
Вот что я нашел:
FileMerge (opendiff)
Он поставляется в комплекте с Xcode с установленными инструментами командной строки
Различное слияние Он поставляется в комплекте с Xcode с установленными инструментами командной строки
вимдифф
Это бесплатно и с открытым исходным кодом.
Установить:
варить установить vim
.Мелд
Можно установить с помощью Homebrew с помощью команды:
brew install meld
, но, вероятно, это не сработает.KDiff3
Может быть установлен с помощью Homebrew с помощью команды:
brew install kdiff3
ТкДифф
Может быть установлен с помощью Homebrew с помощью команды:
brew install tkdiff
TextWrangler
Визуал Диффер
Доступно в App Store
Калейдоскоп
Коммерческий с бесплатной пробной версией.
Араксис Слияние
Коммерческий с бесплатной пробной версией.
Изменения
Коммерческий с бесплатной пробной версией.
См. также Сравнение инструментов сравнения файлов в Википедии для полного списка.
2
голосов
Существует множество инструментов сравнения. Многие делают каталоги и файлы. Некоторые даже работают как инструменты слияния (2-х и 3-х сторонние). Некоторые из них уже упоминались в других ответах, и ваш выбор будет зависеть от того, какие функции вам нужны, и сколько вы готовы заплатить за инструмент. В Википедии есть хорошая страница со сравнением многих наиболее известных.
2
голосов
Я использую синхронизацию папок Это стоит 8,99 долларов США в Mac App Store. Это работает очень хорошо.
P4Merge — бесплатный, очень удобный инструмент для сравнения и слияния. Он может:
- Diff файлы
- Сделайте 3-стороннее слияние
- Сделать папки различий
- Визуально различать 2 файла изображений!
Загрузите его здесь для Mac и Linux.
Этот инструмент https://filecomparisontool.com
- Веб-интерфейс, поэтому он совместим
- Подходит для мобильных устройств
- Сохранить сравнение до 6 месяцев
- Сравнение акций через URL
- Это бесплатно!
vim также имеет встроенную поддержку параллельного сравнения —
vim -d файл1 файл2
Вот страница с подробным описанием режима vim diff —
http://www. carbonsilk.com/development/vim-diff/
GitX-dev — это форк (вариант) GitX, давно несуществующего графического интерфейса для git. система контроля версий. Он был сохранен и дополнен изменения, ориентированные на производительность и дружелюбие, с упором на создание первоклассного, удобного в сопровождении инструмента для современных активных разработчиков.
https://rowanj.github.io/gitx/
Создание отчета о сравнении файлов
Merge предоставляет несколько различных способов создания отчета на основе сравнения файлов. Отчет — это статическое представление сравнения файлов в формате, подходящем для архивного хранения, обмена с коллегами или размещения на веб-сайте.
Создание отчета
Чтобы создать отчет для сравнения файлов, нажмите кнопку ленты Отчет . Отчеты о сравнении файлов Появится окно.
В левом столбце окна отображается список доступных типов отчетов. Щелкните тип отчета, чтобы отобразить страницу параметров конфигурации для этого типа отчета. Нажмите кнопку Справка для получения информации о параметрах для текущего выбранного типа отчета.
После того, как вы настроили или просмотрели параметры для выбранного типа отчета и выбрали расположение, в которое записывается отчет, щелкните значок Сохранить… Кнопка для создания отчета.
Типы отчетов
HTML
- Примеры HTML-отчетов о сравнении файлов
HTML-отчеты содержат информацию о сравниваемых файлах и параллельное представление результатов сравнения. Их можно открыть во многих различных веб-браузерах, отправить коллегам по электронной почте или заархивировать. Большинство параметров, влияющих на внешний вид сравнения файлов на экране, используются при создании отчета.
Слайд-шоу HTML
- Пример отчета HTML-слайд-шоу для сравнения файлов
Этот генератор отчетов используется для создания файловой версии распечатки сравнения файлов слияния. Параметры этого генератора отчетов аналогичны тем, которые используются для настройки внешнего вида распечатки. Merge создает серию HTML-файлов и слайдов для каждой страницы, которая будет напечатана. Различные параметры, управляющие представлением сравнения файлов на экране, также используются при создании отчета о слайд-шоу.
Размер предметного стекла
Используйте эти два элемента управления для настройки ширины и высоты (в пикселях) изображений, создаваемых для каждой страницы.
Включить только страницы, содержащие изменения
Установите этот флажок, чтобы слияние отображало только те страницы в сравниваемых документах, которые содержат изменения (вставленные, удаленные или измененные строки). Этот параметр обычно уменьшает количество страниц, необходимых для отчета/печати сравниваемых файлов или папок.
Показать номера строк
Если этот параметр отмечен, Merge будет отображать номера строк слева от каждой файловой панели.
Масштабировать текст по
Отредактируйте содержимое этого поля, чтобы увеличить или уменьшить коэффициент масштабирования, применяемый к отчетному/печатному тексту.
UNIX разница
- UNIX diff Пример отчета о сценарии редактирования
- Пример контекстного отчета UNIX diff
- UNIX diff Пример унифицированного отчета
Этот тип отчета аналогичен отчетам, созданным в популярной операционной системе UNIX 9.0137 дифф программа. Он доступен только для двухсторонних сравнений, но не для трехсторонних. Можно создавать отчеты Edit-script (выходной формат diff
по умолчанию), отчеты diff контекста ( diff -c
) и унифицированные отчеты diff (опция diff -u
).
Обратите внимание, что вывод отчета в стиле сравнения из Merge будет а не идентичен отчету, сгенерированному программой командной строки UNIX diff
. Merge и diff
используют разные алгоритмы для расчета изменений между файлами. Хотя они согласятся со многими изменениями, будут некоторые (или многие) случаи, когда они этого не сделают.
Использовать формат сценария редактирования
Выберите этот параметр, чтобы создать отчет сценария редактирования для сравнения файлов. Сценарий содержит шаги, которые необходимо выполнить для преобразования первого файла во второй файл.
Использовать формат контекста
Этот формат включает несколько строк контекста вокруг каждого блока измененных, вставленных или удаленных строк в отчете.
Использовать единый формат
Этот формат представляет собой более компактную форму контекстного отчета.
Кнопка ленты Unified diff предоставляет альтернативный быстрый способ создания и просмотра отчета в унифицированном формате. Дополнительные сведения см. в разделе Сравнение текстовых файлов (или введенного/вставленного текста).
# строки контекста
Это значение в этом поле используется слиянием для контекстных и унифицированных отчетов.
Контекстные и унифицированные отчеты окружают каждый блок измененных, вставленных и удаленных строк в отчете рядом неизмененных строк. Содержимое этого поля определяет, сколько строк без изменений будет включено.
Неизмененные строки предоставляют некоторый визуальный контекст для изменения, чтобы было легче найти изменение в сравниваемых файлах. Некоторые программы patch могут использовать контекстную информацию в сгенерированных отчетах для преобразования одного файла в другой, даже если в файл были внесены изменения с момента создания отчета. Для надежной работы таких программ обычно требуется как минимум три строки контекста.
XML
- XML-отчет о сравнении файлов, пример
XML-отчеты содержат информацию о сравниваемых файлах и данные для параллельного представления результатов сравнения. Большинство параметров, влияющих на внешний вид сравнения файлов на экране, используются при создании отчета.
Для этого типа отчета нет настраиваемых параметров. Элементы, включающие отчеты сравнения XML, описаны ниже.
Понимание отчетов о сравнении XML-файлов
Отчеты сравнения XML полезны, поскольку они могут быть дополнительно обработаны другими приложениями. Приведенная ниже информация предназначена в первую очередь для тех, кто собирается писать программное обеспечение для обработки XML-отчетов. Обратите внимание, что Merge создает отчеты сравнения HTML, выполняя преобразование XSLT в эквивалентном отчете XML. Следовательно, два типа отчетов очень тесно связаны между собой.
Корневой элемент
Отчет о сравнении XML-файлов содержится в элементе mg:report
верхнего уровня.
mg:report
содержит два дочерних элемента, mg:metaData
и mg:rowData
.
Метаданные
mg:metaData
содержит информацию об отчете, например, какие файлы сравнивались и какие параметры слияния действовали при выполнении отчета. Важно понимать, что на содержание отчета влияют преобладающие параметры слияния на момент создания отчета. Элементы в мг: метаданные
:
Элемент | Описание |
---|---|
мг: название | Название отчета.![]() |
мг:ид | Идентификатор отчета. Это используется для нумерации отчетов при создании нескольких отчетов за один раз (например, отчет о сравнении папок со связанными отчетами о сравнении файлов). |
мг: дата | Дата создания отчета. |
мг: опции | Параметры и регулярные выражения, используемые при создании отчета. Они должны быть в основном самоочевидными. Имена и значения параметров должны соответствовать описанным в документации по обзору API автоматизации. |
mg:fileDetails | Один экземпляр этого элемента существует для каждого сравниваемого файла с указанием имени файла, его заголовка (если он был предоставлен, например, для сравнить утилиту командной строки ), его путь и отметку времени последнего изменения. |
mg:changeSummaries | Статистическая информация, которая используется для раздела «Сводка сравнения» отчета HTML (а также отображается в окне «Статистика» для сравнения файлов слияния).![]() |
мг:классы | Существует один экземпляр этого элемента для каждого сравниваемого файла, каждый из которых содержит четыре mg:class дочерних элементов, по одному для каждого типа текстового блока (без изменений, удаленных, вставленных и измененных), предоставляющих информацию о шрифте и цвете для отображения текста этого типа. |
Данные строки
mg:rowData
содержит фактические результаты выполнения сравнения файлов. Он состоит из 90 137 элементов mg:rowGroup 90 138, каждый из которых соответствует блоку текста, который изменился из одного файла в другой.
В каждом 9Элемент 0137 mg:rowGroup представляет собой один или несколько элементов mg:rows
и/или mg:опущен
.
mg:опущен
, если присутствует, просто записывает тот факт, что одна или несколько строк (пар или троек строк) были исключены из сравнения из-за действующей опции «Показать только X строк контекста».
Каждая строка mg:l содержит до пары (для двусторонних сравнений) или триплета (для трехсторонних сравнений)
содержит одну строку сравнения, связывающую одну строку из каждого файла друг с другом. Если нет связанной строки, что происходит в случае вставленных или удаленных блоков текста, то элементы mg:ln
элементов. 9Таким образом, 0137 мг:строка mg:ln
присутствуют только для соответствующих файлов. Таким образом, во всем отчете на каждую строку текста в каждом исходном файле приходится ровно один элемент mg:ln
(если, конечно, строки не были опущены).
Каждый элемент mg:ln
имеет атрибут файл
, который указывает файл, которому он принадлежит (пронумерованы 1, 2 и 3 слева направо). Он также имеет атрибут number
, указывающий номер строки в файле, которому он принадлежит. Наконец, у него есть атрибут класса
, который указывает, считается ли строка в целом вставленной («I»), удаленной («R»), измененной («C») или неизменной («U»). .
мг:лн
элементов может содержать мг:гг
детей. Каждая mg:sg
представляет собой последовательность текстовых символов с определенным цветом выделения и, таким образом, сообщает о выделении изменений внутри строк. Каждый сегмент имеет атрибут класса, аналогичный атрибуту mg:ln
, указывающий, представляет ли сегмент вставленный, удаленный, измененный или неизмененный текст. Слияние также разбивает более длинные фрагменты текста на соседние сегменты, каждый из которых не превышает 10 или около того символов. Это упрощает XSLT, который создает отчеты сравнения HTML, чтобы обеспечить некоторую степень переноса строк.
Поскольку пробелы и символы конца строки (CR и LF) важны при сравнении файлов, они явно кодируются внутри сегментов с помощью элементов mg:s
, mg:cr
и mg:lf
. Это гарантирует, что информация об этих символах переживет процесс синтаксического анализа XML.
Элементы mg:rowGroup
и их дочерние элементы mg:row
и mg:ln
упорядочены в отчете XML таким образом, что они представляют строки, начинающиеся с верхней части сравниваемых файлов и идущие к их концам.