Я ищу утилиту сравнения файлов специально для файлов .ini, обычно используемых в качестве файлов настроек.
Существует множество инструментов сравнения файлов (WinDiff, Beyond Compare, CompareIt, WinMerge и т. Д.), Но ни один из опробованных мной инструментов не может очень хорошо обрабатывать файлы .ini.
Типичный файл .ini может выглядеть так:
[Settings]
Setting1=abc
Setting2=xyz
Инструмент должен сопоставлять строки на основе строки перед знаком равенства, а затем показывать различия во всем остальном после знака равенства. Порядок линий в разделе (разделы указаны в квадратных скобках) не имеет значения и должен игнорироваться.
Я не могу найти инструмент, который справится с этим. Обычно существующие инструменты будут показывать различия в начале строки перед знаком равенства (если большая часть текста после знака равенства совпадает), они будут бороться с переупорядоченными строками (либо показать все как измененные, либо сопоставить некоторые строки и показать остальные как удалены в одном месте, а затем добавлены в другом). Я даже нашел некоторые инструменты, в которых сопоставление текста может быть ограничено, например, с помощью регулярных выражений, но они просто игнорируют остаток строки, и я не могу сопоставить строки на основе одного шаблона (то есть все перед знаком равенства), а затем сравнивать их на основе на другом (все после знака равенства).
Ответы:
В Beyond Compare есть отсортированное правило INI, которое вы можете скачать .
источник
Да, я знаю, что это древний вопрос, но я хотел бы предложить инструмент, который я написал:
dzIniFileFormatter, который доступен от SourceForge
источник
Я часто просто сортировал файлы перед сравнением. Это не поможет, если у вас есть что-то вроде
но если предположить, что ваши ключи уникальны (и поэтому могут быть сопоставлены с разделом), это часто работает в крайнем случае.
источник
Попробуйте vimdiff. Вот пример с файлами .ini.
источник
Этот сервис должен помочь вам. Сравнивает более двух конфигурационных файлов http://inicompare.io/
источник
Мне всегда нравился Winmerge, очень настраиваемый.
источник
[0-9]+=
с=
). Но я всегда должен отказаться от измененных файлов. Я также ищу лучшее решение.