@ivelin: UUID может иметь капители. Таким образом, вам понадобится toLowerCase () строка или использовать:
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
Хотелось бы просто прокомментировать это, но не достаточно rep:)
wdiff последовательно выравнивание слов.
Для удобочитаемого отображения в терминале запустите
wdiff -al <file1> <file2> | less
Это покажет (по крайней мере, в моей системе) вставки в
жирным шрифтом и удаления из
подчеркнут.
Один из вариантов - разделить весь файл на слова. Не на 100% тот же результат в терминах знания контекста, но очень точно настроен на тип изменения, о котором вы заботитесь.
Пример:
cat file1 | perl5.8 -e '{s/\s+/\n/g;}' > file1.split_words
cat file2 | perl5.8 -e '{s/\s+/\n/g;}' > file2.split_words
diff file1.split_words file2.split_words
Вы можете добиться большего, если у текста есть особые свойства, а точнее, перекомпоновка происходит только в пределах абзаца, который определяется как 2 символа новой строки подряд - просто замените все отдельные перевод строки с пробелами и регулярный запуск diff -w
результатов.