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