игнорирование новой строки diff / diff по нескольким строкам / diff игнорирование reflow

@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:)

15
задан Josh Lee 8 November 2010 в 00:08
поделиться

2 ответа

wdiff последовательно выравнивание слов.

Для удобочитаемого отображения в терминале запустите

 wdiff -al <file1> <file2> | less

Это покажет (по крайней мере, в моей системе) вставки в жирным шрифтом и удаления из подчеркнут.

12
ответ дан 1 December 2019 в 04:40
поделиться

Один из вариантов - разделить весь файл на слова. Не на 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 результатов.

1
ответ дан 1 December 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: