У меня есть два файла, которые я пытался сравнить с diff. Файлы создаются автоматически и содержат ряд строк, которые выглядят следующим образом:
//! Generated Date : Mon, 14, Dec 2009
Мне бы хотелось, чтобы эти различия были проигнорированы, и я решил использовать для этого флаг "-I REGEX".
Однако число пробелов между «Date» и двоеточием варьируется, и, к сожалению, похоже, что в регулярных выражениях, используемых diff, отсутствует ряд основных утилит регулярных выражений.
Например, я не могу на всю жизнь заставить работать «один или несколько» плюсов. То же самое относится и к представлению пробела "\ s".
diff -I '.*Generated Date\s+:.*' ....
и
diff -I '.*Generated Date +:.*' ....
оба впечатляюще терпят неудачу.
Вместо того, чтобы продолжать слепо пробовать что-то, может кто-нибудь подсказать мне хорошую ссылку на специфическое для diff подмножество регулярных выражений?
Спасибо!
===== РЕДАКТИРОВАТЬ =======
Благодаря FalseVinylShrub я установил, что должен экранировать мой '+' и любые подобные символы. Это несколько решает проблему. Дифф успешно соответствует
.*Generated Date \+.*
и
.*Generated Date *.*
(Обратите внимание, что между «Дата» и «*» есть два пробела.)
Однако, во-вторых, я пытаюсь добавить ':' к этому выражению, вот так:
.*Generated Date \+:.*
и
.*Generated Date \+\:.*
Обе версии не совпадают с рассматриваемой строкой и приводят к запуску diff значительно большего количества времени. Есть мысли?