Как игнорировать строки, начинающиеся со строки с diff? - PullRequest
9 голосов
/ 30 апреля 2010

Как мне различить два файла и игнорировать строки, начинающиеся с последовательности.

Например,

File1:
abc
def
time:123

File2:
igh
def
time:345

С unix diff сообщит

<time:123
>time:345

Я хочу игнорировать эту разницу. Есть идеи?

1 Ответ

14 голосов
/ 30 апреля 2010

Как насчет: diff -I '^time.*' file1 file2?

Пожалуйста, не надо не всегда работает должным образом согласно diffutils руководство:

Однако -I игнорирует только вставку или удаление строк, которые содержат регулярное выражение, если каждая измененная строка в блоке (каждая вставка и каждое удаление) соответствует регулярному выражению.

Другими словами, для каждого невосполнимого изменения diff печатает полный набор изменений в его окрестности, включая игнорируемые. Вы можете указать более одного регулярного выражения для игнорируемых строк, используя более одной опции -I. diff пытается сопоставить каждую строку с каждым регулярным выражением, начиная с последнего заданного.

...