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