Я пытаюсь написать findstr
регулярное выражение, которое будет находить локальные и удаленные измененные файлы, используя subversion.
Учитывая приведенный ниже пример выходных данных, я бы хотел сопоставить строки, в которых первый или второй символы обозначены буквой «М». Будут и другие, но это моя отправная точка.
C:\Documents and Settings\user\Desktop\code>svn status --show-updates .
X Core
* 4069 D3_Version.m
Status against revision: 4184
Performing status on external item at 'Core'
M 4184 Core\IE_Unexport_Signals.m
X Core\2010
M 4184 Core\images
M 4184 Core
Status against revision: 4184
Performing status on external item at 'Core\2010'
Status against revision: 4184
Мое регулярное выражение выглядит так: svn status --show-updates . |findstr "^[M]"
, что дает:
M 4184 IECore \ IE_Unexport_Signals.m
Это только выбирает нас М в первом столбце. Изменение также, чтобы забрать второй столбец приводит к отсутствию вывода: svn status --show-updates . |findstr "^[ M][ M]"
Похоже, это связано с пробелом в классе персонажа. Читая документы, я должен использовать /C:
для интерпретации пробела как литерала, но это принимает все символов как литералы, и поэтому регулярное выражение не будет работать.
Также экранирование с помощью \ не работает.
Как я могу сопоставить те строки, в которых первый или второй символы обозначены буквой «М»?