Как сделать

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

Человек, сравнивающий два файла на терминале Linux

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

Самый быстрый способ открыть окно терминала в Linux, чтобы нажать CTRL + ALT + T клавиш одновременно.

Человек, сравнивающий два файла на терминале Linux
Lifewire / Дерек Абелла

Создайте файлы для сравнения

Если вы хотите следовать этому руководству, создайте два текстовых файла, которые содержат похожий, но разный текст.

Создать первый файл

Создайте файл с именем file1 и введите следующий текст:

10 зеленых бутылок на стене 
10 зеленых бутылок на стене
Если одна зеленая бутылка случайно упадет
На стене будет 9 зеленых бутылок

Чтобы создать этот файл, следуйте этим инструкциям:

  1. Откройте файл, введя следующую команду:

    нано файл1
    Терминальная команда: nano file1
  2. Терминал file1 в нано
  3. Нажмите CTRL + O, чтобы сохранить файл.

  4. Нажмите CTRL + X, чтобы выйти из файла.

Создайте второй файл

Затем создайте другой файл с именем file2 и введите следующий текст:

10 зеленых бутылок, стоящих на стене. 
Если одна зеленая бутылка случайно упадет.
На стене будет 9 зеленых бутылок.

Чтобы создать этот файл, следуйте этим инструкциям:

  1. Откройте файл, введя следующую команду:

    нано файл2
  2. Введите текст в нано-редактор.

    Терминал file2 в нано
  3. Нажмите CTRL + O, чтобы сохранить файл.

  4. Нажмите CTRL + X, чтобы выйти из файла.

Как сравнить два файла с помощью Linux

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

Простейшая форма команды diff выглядит следующим образом:

diff file1 file2

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

2,4c2,3 
<10 зеленых бутылок, стоящих на стене
<Если одна зеленая бутылка случайно упадет
<Там будет 9 зеленых бутылок, стоящих на стене
...
> Если одна зеленая бутылка случайно упадет
> Там будет 9 зеленых бутылки стоят на стене

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

Терминальная команда

Различия между этими двумя файлами заключаются в следующем:

  • Второй файл имеет только три строки. Первый файл имеет четыре. 
  • Во втором файле написано 1 зеленая бутылка в третьей строке. В первом файле написано одна зеленая бутылка .
  • Второй файл говорит там бы вместо того , чтобы там было бы на последнюю строку.

Вывод команды diff показывает, что между строками 2 и 4 первого файла и строками 2 и 3 второго файла имеются различия.

Затем он перечисляет строки от двух до четырех из первого файла, за которыми следуют две разные строки во втором файле.

Как показать только если файлы разные

Если вы хотите знать только, отличаются ли файлы, и не интересуетесь, какие строки отличаются, выполните следующую команду:

diff -q file1 file2

Если файлы разные, отображается следующее:

Файлы file1 и file2 отличаются

Если файлы одинаковые, ничего не отображается.

Как показать сообщение, если файлы одинаковые

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

Чтобы выполнить это требование с помощью команды diff, используйте следующую команду:

diff -s file1 file2

Если файлы совпадают, это сообщение появляется:

Файлы file1 и file2 идентичны

Как произвести различия бок о бок

Если есть несколько различий, это может привести к путанице относительно того, каковы различия между этими двумя файлами. Вы можете изменить вывод команды diff, чтобы результаты отображались рядом. Для этого выполните следующую команду:

diff -y file1 file2

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

Терминальная команда

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

Ограничить ширину столбца

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

diff --width = 5 файл1 файл2

Как игнорировать различия в регистре при сравнении файлов

Если вы хотите сравнить два файла, но вам все равно, совпадает ли регистр букв между двумя файлами, используйте следующую команду:

diff -i file1 file2

Как игнорировать конечный пробел в конце строки

Если при сравнении файлов вы заметили много различий и различия вызваны пробелами в конце строк, не позволяйте им отображаться как изменения, выполнив следующую команду:

diff -Z file1 file2

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

Если вас интересует только текст в файле, и вам все равно, есть ли в одном месте больше пробелов, используйте следующую команду:

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone