Есть 9-мегабайтный текстовый файл. Я в него добавил в разные места несколько килобайт, затем неправильно применил в FAR-е скрипт EditWrap.lua и по ошибке сохранил. Бэкап, сделанный до всех правок, есть.
Нужно сравнить этот файл с оригиналом, игнорируя разрывы строк, и перенести отличия из нового в старый. То есть при сравнении должны считаться одинаковыми фрагменты:
a bc d
и
a b
c d
Если при этом фрагменты окажутся одинаковыми с a b c d
или abcd
— значения не имеет, не проблема.
diff, насколько я понял, может приравнять любое число пробелов и табов к одному пробелу, но игнорировать разрыв строки не может.
wdiff и dwdiff работают на уровне слов, поэтому разрывы строк, разрывающие слова, они игнорировать не смогут. Так?
Что ещё есть?
UPD: Сравнил их скриптом на Питоне в полуручном режиме, но вопрос о более универсальном решении остался.