ГлавнаяОперационные системыLinuxИнструменты сравнения файлов (Diff) для Linux

Инструменты сравнения файлов (Diff) для Linux

Программистам, веб-разработчикам и даже писателям часто приходится сравнивать разные версии одного и того же кода или текста, чтобы отслеживать изменения. Эффективный способ сделать это — использовать инструмент сравнения — приложение, которое сравнивает файлы или папки, показывает различия между ними и помогает создать новый файл путем объединения или исправления его версий. Как правило, вы можете сравнивать файлы в Linux либо с помощью инструмента командной строки, либо с помощью отдельного приложения.

Разница, цветовая разница и wdiff

Разница

Утилита командной строки под названием diffявляется частью пакета «diffutils», присутствующего в репозиториях всех основных дистрибутивов Linux. Это простой инструмент, который сравнивает файлы построчно, а также сравнить файлы в двух папках<

Разница, цветовая разница и wdiff

не выведет никаких результатов, и вы можете настроить его параметры (например, игнорировать пробелы или регистр букв).

Общий синтаксис:

diff -option filename1 filename2

Результаты могут быть показаны в двух столбцах с опцией -yили --side-by-side. Чтобы получить полный список параметров различий, наберите:

diff --help

Пакет «diffutils» также содержит diff3— инструмент, который может сравнивать три файла и объединять три версии файла. Отличное руководство по максимально эффективному использованию различий можно найти на официальном сайте .

Цвет

Цветразлич. технически является «оберткой» или сценарием, который изменяет выходные данные diff, окрашивая их в соответствии с вашими предпочтениями в файле конфигурации («/etc/colordiffrc» или «/home/user /.colordiffrc»). Пакет colordiff доступен в репозиториях большинства дистрибутивов.

Colordiff имеет те же параметры, что и diff, и вы можете использовать их напрямую, набрав:

colordiff -options filename1.txt filename2.txt

или передав ему вывод diff:

diff -u filename1.txt filename2.txt | colordiff

Различ.

Еще один похожий и немного более специализированный инструмент — wdiff, который может сравнивать файлы пословно (он определяет слово как что-то, окруженное пробелами). Wdiff может игнорировать регистр (-i), предоставлять статистику (-s) об изменениях в заданных файлах и подчеркивать различия в форматировании (-p). Вы также можете комбинировать colordiff и wdiff, чтобы получить обзор различий в словах между файлами с

Цвет

ровкой:

wdiff -n filename1.txt filename2.txt | colordiff

Обратите внимание, что вам необходимо ввести полный путь, если файлы находятся не в активной папке. Чтобы узнать больше о wdiff, посетите официальный сайт .

Режимы сравнения в Vim и Emacs

Популярные текстовые редакторы Vim и Emacs имеют встроенный режим сравнения. Чтобы активировать его в Vim, вы можете запустить программу командой vimdiffи добавить для сравнения до четырех файлов:

vimdiff file1 file2 [file3 [file4]]

Vim открывает каждый файл в отдельном окне и выделяет различия. Вы можете настроить разделение каждого окна для лучшего обзора.

Пользователи Emacs могут выбирать между расширением diff (так называемым «основным режимом») или E

Различ.

лее продвинутым режимом, который позволяет интерактивно изменять сравниваемые файлы. Подобно Vim, Emacs может отображать файлы в отдельных окнах рядом и выделять различия. Вы также можете использовать его для объединения файлов, он работает и со сжатыми файлами.

diff-инструменты-ediff

Оба текстовых редактора имеют относительно сложный синтаксис требует некоторого обучения , но это того стоит, поскольку они очень мощные и полностью настраиваемые.

Kdiff3

Kdiff3 — это графический интерфейс для сравнения. Это означает, что он использует diff и предлагает все его возможности. Он позволяет сравнивать два файла с базовым файлом, а также объединять, разделять и объединять целые папки, файлы или только выбранные части текста. Kdiff3 хорошо интегрируется с KDE (поддерживает Меню сервиса «Дельфин» ), но будет работать во всех дистрибутивах Linux, Windows и Mac OS X. Диалоговое окно «Настройки ->Настроить Kdiff3» позволяет задать параметры для сравнения файлов в папках. (по дате, размеру, двоично

Режимы сравнения в Vim и Emacs

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

diff-tools-kdiff

Самое замечательное в Kdiff3 то, что он позволяет вставлять текст из любого файла непосредственно в главное окно, устраняя необходимость создания файлов, когда вы просто хотите сравнить текст «на лету».

Рассеянный

diff-tools-diffuse

На первый взгляд это кажется простым, но Diffuse столь же мощный, как и другие инструменты в этом списке. Он может сравнивать неограниченное количество файлов в параллельном представлении и суммировать различия. Вы можете редактировать файлы непосредственно из Diffuse, а также выполнять слияния и сопоставление строк. Он также поддерживает (ограниченную) подсветку синтаксиса и предлагает интеграцию с несколькими системы контроля версий , включая Git, Mercurial и Subversion, чтобы помочь вам синхронизировать файлы. Diffuse работает в Linux, Windows и Mac OS X.

Объединить различия

Это приложение работает в Linux, Windows и OS X, хорошо интегрируется с Windows Explorer и предлагает установочные пакеты для некоторых дистрибутивов. Вы можете редактировать файлы в Diffmerge, автоматически объединять версии файлов и экспортировать различия в новый файл. Он может сравнивать до трех файлов и двух папок и показывать, идентичны ли файлы, что может быть полезно при проверке правильности выполнения Kdiff3www.maketecheasier.com/use-rsync-command-linux/">резервное копирование через rsync .

diff-tools-diffmerge

Диалоговое окно настроек позволяет вам определить собственные правила для обработки различных типов файлов. Diffmerge бесплатен, но иногда запрашивает платный регистрационный ключ. Это может отпугнуть некоторых пользователей; к счастью, они могут выбрать другой инструмент из этого списка, поскольку все они предлагают более или менее одинаковые возможности.

Объединиться

Meld объединяет функции других инструментов сравнения в интерфейс, созданный на Python. Вы можете скачать исходный код и версию для Windows и найти пакет в репозиториях, если вы являетесь пользователем Ubuntu, Fedora или SUSE. Самое замечательное в Meld то, что вам не нужно его устанавливать – просто запустите исполняемый файл и используйте его как портативное приложение .

diff-tools-meld

Meld поддерживает редактирование файлов, фильтрацию с помощью регулярных выражений, сравнение и объединение трех файлов, а также сравнение двух или трех папок и их содержимого, а также обеспечивает полезную визуализацию различий с помощью стрелок и цветового кодирования. Если вы используете систему контроля версий, такую ​​как Git, Mercurial или SVN, Meld может управлять вашими файлами, проверять наличие изменений, а также выполнять фиксации и обновления. Meld регулярно обновляется, поэтому мы можем надеяться на новые функции в будущих версиях.

Другие варианты

Если вам не хочется устанавливать для этой цели новое приложение и вам н

Рассеянный

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

Используете ли вы инструмент сравнения, которого нет в этом списке? Расскажите нам об этом в комментариях.

Объединить различия

Объединиться

Другие варианты

ПОХОЖИЕ СТАТЬИ

Популярные записи