Estou procurando um utilitário de comparação de arquivos especificamente para arquivos .ini, normalmente usado como arquivos de configurações.
Existem muitas ferramentas de comparação de arquivos (WinDiff, Beyond Compare, CompareIt, WinMerge, ...), mas nenhuma das ferramentas que tentei consegue lidar com arquivos .ini muito bem.
Um arquivo .ini típico pode ter esta aparência:
[Settings]
Setting1=abc
Setting2=xyz
A ferramenta deve corresponder às linhas baseadas na string antes do sinal de igual e, em seguida, mostrar diferenças em tudo o resto após o sinal de igual. A ordem das linhas dentro de uma seção (as seções são indicadas por colchetes) não importa e deve ser ignorada.
Não consigo encontrar nenhuma ferramenta que possa lidar com isso. Geralmente, as ferramentas existentes mostram diferenças no início da linha antes do sinal de igual (se a maioria do texto após o sinal de igual corresponder), elas terão dificuldades com as linhas reordenadas (mostrar tudo como alterado ou corresponder a algumas linhas e mostrar o restante é excluído em um local e adicionado em outro). Até encontrei algumas ferramentas em que o texto correspondente pode ser restrito, por exemplo, usando expressões regulares, mas elas simplesmente ignoram o restante da linha e não consigo combinar as linhas com base em um padrão (ou seja, tudo antes do sinal de igual) e depois compará-las com base em outro (tudo depois do sinal de igual).
Respostas:
O Beyond Compare possui uma regra INI classificada que você pode baixar .
fonte
Sim, eu sei que essa é uma pergunta antiga, mas eu gostaria de sugerir uma ferramenta que escrevi:
dzIniFileFormatter, disponível no SourceForge
fonte
Muitas vezes, acabei de classificar os arquivos antes de compará-los. Não vai ajudar se você tiver algo como
mas, supondo que suas chaves sejam únicas (e, portanto, possam corresponder a uma seção), ela geralmente funciona muito bem.
fonte
Tente vimdiff. Aqui está um exemplo com arquivos .ini.
fonte
Este serviço deve ajudá-lo. Compara mais de dois arquivos de configuração http://inicompare.io/
fonte
Eu sempre gostei do Winmerge, muito personalizável.
fonte
[0-9]+=
para=
). Mas eu sempre tenho que descartar os arquivos alterados. Também estou procurando uma solução melhor.