next up previous contents index
Next: Исправление файлов по результатам Up: Средства управления файлами Previous: Разделение файла на меньшие   Contents   Index

Сравнение файлов

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

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

Чтобы определить, в чем различаются файлы `master' и `backup', наберите:

$ cmp master backup [Enter]

Чтобы сравнить два файла и получить отчет о различиях в них, используйте утилиту diff. Отчет о различиях форматируется таким образом, чтобы другие утилиты (например, patch) могли использовать его, чтобы сделать сравниваемые файлы идентичными. В качестве аргументов для diff нужно указать имена сравниваемых файлов.

Чтобы сравнить файлы `manuscript.old' и `manuscript.new', введите:

$ diff manuscript.old manuscript.new [Enter]

Отчет о различиях выводится в файл стандартного вывода; чтобы сохранить его в файл на диске, перенаправьте вывод в файл:

$ diff manuscript.old manuscript.new > manuscript.diff [Enter]

В этом случае отчет будет сохранен в файле `manuscript.diff'.

Чтобы нагляднее увидеть различия в двух файлах, используйте команду sdiff; вместо генерации отчета о различиях, она выводит файлы в две колонки, разделяемые пробелами. Различающиеся строки разделяются `|'; строки, встречающиеся только в первом файле, заканчиваются `<', а строки, встречающиеся во втором, начинаются с `>'.

Чтобы сравнить файлы `laurel' и `hardy' на экране, введите:

$ sdiff laurel hardy less [Enter]|

Для одновременного сравнения трех файлов используйте diff3.

Чтобы вывести отчет о различиях между файлами `larry', `curly', и `moe' в файл `stooges', введите:

$ diff3 larry curly moe > stooges [Enter]



Alex Otwagin 2002-12-16