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, вам даже не придется использовать командную строку для сравнения файлов или вообще использовать локальную машину. Существуют онлайн-инструменты, позволяющие сравнивать файлы в Интернете
Комментировать