Есть ли где-нибудь инструмент или библиотека?
Их много.Попробуйте использовать diff
, это утилита сравнения файлов на основе командной строки, которая отлично работает для небольших различий.Но если два файла сильно различаются, будет сложно понять вывод diff.В этом случае вы можете использовать визуальные инструменты сравнения файлов, такие как diffmerge, Kompare или vimdiff.
Находится ли эта функция в любых известных текстовых редакторах?
Многие современные редакторы, такие как vim, Eclipse, имеют эту функцию визуального сравнения ..
Кто-нибудь знает алгоритм?Или каковы общие методы решения этой проблемы в больших масштабах?
Он основан на Longest common subsequence algorithm
, широко известном как LCS.
LCSстарого текста и нового текста дает часть, которая осталась неизменной.Таким образом, части старого текста, которые не являются частью LCS, изменились.
Что бы вы сделали, если бы столкнулись с такой проблемой?
Iиспользовал один из упомянутых инструментов визуального сравнения, чтобы увидеть, что и где были внесены изменения.