Szukam narzędzia do porównywania plików specjalnie dla plików .ini, zwykle używanych jako pliki ustawień.
Istnieje wiele narzędzi do porównywania plików (WinDiff, Beyond Compare, CompareIt, WinMerge, ...), ale żadne z narzędzi, które wypróbowałem, nie radzi sobie bardzo dobrze z plikami .ini.
Typowy plik .ini może wyglądać następująco:
[Settings]
Setting1=abc
Setting2=xyz
Narzędzie powinno dopasowywać wiersze na podstawie ciągu przed znakiem równości, a następnie pokazywać różnice we wszystkim innym po znaku równości. Kolejność linii w sekcji (sekcje są oznaczone nawiasami kwadratowymi) nie ma znaczenia i należy ją zignorować.
Nie mogę znaleźć żadnego narzędzia, które to poradziłoby. Zazwyczaj istniejące narzędzia pokazują różnice na początku wiersza przed znakiem równości (jeśli większość tekstu po znaku równości pasuje), będą walczyć z ponownie uporządkowanymi liniami (albo pokaż to wszystko, co zmienione, albo dopasuj niektóre linie i pokaż pozostałe zostały usunięte w jednym miejscu, a następnie dodane w innym). Znalazłem nawet narzędzia, w których można ograniczyć dopasowywanie tekstu, np. Używając wyrażeń regularnych, ale one po prostu ignorują resztę wiersza i nie mogę dopasować wierszy na podstawie jednego wzorca (tj. Wszystkiego przed znakiem równości), a następnie porównać je na podstawie na innym (wszystko po znaku równości).
Odpowiedzi:
Beyond Compare ma posortowaną regułę INI, którą można pobrać .
źródło
Tak, wiem, że to starożytne pytanie, ale chciałbym zasugerować narzędzie, które napisałem:
dzIniFileFormatter, który jest dostępny z SourceForge
źródło
Często po prostu sortowałem pliki przed porównaniem. To nie pomoże, jeśli masz coś takiego
ale zakładając, że twoje klucze są unikalne (i dlatego można je dopasować do sekcji), często działa to w skrócie.
źródło
Wypróbuj vimdiff. Oto przykład z plikami .ini.
źródło
Ta usługa powinna ci pomóc. Porównuje więcej niż dwa pliki konfiguracyjne http://inicompare.io/
źródło
Zawsze lubiłem Winmerge, bardzo konfigurowalny.
źródło
[0-9]+=
z=
). Ale zawsze muszę odrzucać zmienione pliki. Szukam też lepszego rozwiązania.