Как использовать diff для сравнения текстовых файлов в терминале Linux
Linux

Как использовать diff для сравнения текстовых файлов в терминале Linux

diff – это стандартная утилита командной строки Linux, которая позволяет сравнивать различия между двумя файлами. Вот как вы можете использовать ее в своих интересах

Вы когда-нибудь имели два похожих файла и задавались вопросом, какие части отличаются друг от друга? Вы пишете код и пытаетесь понять, как вписать в него изменения, которые внесли вы или другой программист? Существует стандартная утилита Linux под названием ‘diff’, которая поможет вам

Что такое diff?

diff – это утилита, которая показывает различия между двумя текстовыми файлами, откуда и происходит ее название. Она является частью стандарта POSIX, что означает, что она присутствует почти во всех Unix-подобных системах, включая Linux, а также macOS и другие BSD

Если вы используете основной дистрибутив Linux, у вас, скорее всего, будет версия GNU. Если вы работаете на минимальном дистрибутиве Linux, она может быть частью библиотеки BusyBox или Toybox, или BSD-версией, если вы работаете на BSD-системе. Вы можете узнать, какая у вас версия, просмотрев страницу руководства:

man diff

Сравнение двух файлов в Linux с помощью diff

Чтобы сравнить два текстовых файла, просто передайте их пути в качестве аргументов в diff:

diff file1 file2

diff покажет строки, которые различаются между двумя файлами. Строки в первом файле предваряются символом ‘<‘, а строки во втором – символом ‘>’. На выходе отображаются измененные, добавленные или удаленные строки, включая общее количество затронутых строк

Если вы измените первую строку, diff выдаст ‘1c1’, что означает ‘начать со строки 1, изменить строку 1’. В diff, ‘a’ означает ‘append’, ‘c’ – ‘change’ и ‘d’ – ‘delete.’

Другие возможности и опции diff

Чтобы увидеть файлы бок о бок, используйте опцию -y:

diff -y file1 file2

Опция -u создает ‘объединенный’ взгляд со сценарием редактирования для редактора ed, так что изменения могут быть выполнены автоматически

До широкого распространения распределенных систем контроля версий, таких как Git, проекты с открытым исходным кодом запрашивали патчи в этом формате по электронной почте, а затем применяли их к кодовой базе с помощью программы patch

Теперь вы можете сравнивать файлы в Linux с помощью diff

Утилита diff может показаться непонятной, но она полезна для просмотра различий между двумя файлами, независимо от того, просто ли вы сравниваете файлы или отправляете исправления разработчику с открытым исходным кодом

Если вы не любите терминал Linux, вам даже не придется использовать командную строку для сравнения файлов или вообще использовать локальную машину. Существуют онлайн-инструменты, позволяющие сравнивать файлы в Интернете

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий