Сравнение содержимого файлов

Кому чаще, кому реже, но многим из нас бывает нужно сравнить между со­бой содержимое каких-то файлов. При простейшем сравнении каталогов (ко­торое рассматривалось в конце главы 26) Total Commander дает общее пред­ставление о том, какие в сравниваемых каталогах есть файлы с одинаковыми именами, но с разной длиной или датой/временем. Никакого анализа содер­жимого файлов эта методика не предполагает. Но нас-то часто интересует, чем конкретно, какими строчками, словами, даже символами один файл от­личается от другого (и вовсе не обязательно одноименного). В сравнении с другим документом может нуждаться подготовленная в редакторе рукопись статьи, изменившийся файл конфигурации, обновленная для сайта или СНМ- справки Web-страница и так далее. Впрочем, кому-то может быть совершен­но необходимо и сравнение двоичных файлов.

Сравнивать даже текстовые файлы "вприглядку" — занятие утомительное и чреватое ошибками. Нужны специальные средства, позволяющие открыть два файла рядом в одном окне, наглядно выделить все их отличия друг от друга и синхронно прокручивать списки к предыдущему или следующему различию. Хорошо, если можно попросить программу выбрать нужную вам кодировку или, допустим, не учитывать малосущественные подробности вроде разного регистра символов или повторяющихся пробелов. Еще лучше, когда для простых текстов поддерживаются редактирование и выборочная синхронизация: вы получаете возможность что-то поправить на месте, какую-то несовпадающую строку перекинуть слева направо, а какую-то — в обратную сторону, а потом выполнить сравнение заново.

Вслед за совсем уж непритязательной DOS-командой fc(от
FileCompare) было придумано множество программ для сравнения файлов. В качестве "типичных представителей" назовем Comparelt!, WinMerge, ExamDiff. По­скольку подобные средства — внешние по отношению к ТС, их нужно еще найти, установить, настроить (а возможно, и купить). Потом вы открываете программу, выбираете первый файл, потом второй файл, потом сравнивае­те… Можно, однако, объединить умения внешней программы и файл — менеджера: файлы выбирать в панелях ТС, а потом с помощью кнопки на панели инструментов или команды в меню передавать их внешней про­грамме. По крайней мере, в отношении Comparelt! такая методика ока­залась (при правильно заданных параметрах запуска) вполне работо­способной.