私はfindstr
正規表現を書いて、サブバージョンを使ってローカルとリモートの修正ファイルを見つけようとしています。 以下の出力例では、最初の文字または2番目の文字として 'M'を持つ行をマッチさせたいと思います。他にもありますが、これが私の出発点です。私の正規表現にスペースが必要なときにfindstrを使う方法
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
私の正規表現は、次のようになります。 M 4184 IECore \ IE_Unexport_Signals.m
これが唯一の最初の列に私たちにMを選ぶ:与えsvn status --show-updates . |findstr "^[M]"
。 2番目の列を選択しても出力結果は表示されません。svn status --show-updates . |findstr "^[ M][ M]"
これは、文字クラスのスペースが原因と考えられます。ドキュメントを読む私は/C:
を使ってスペースをリテラルとして解釈する必要がありますが、これはすべて文字をリテラルとして取るので、正規表現は機能しません。 また、スペースを "\"でエスケープしても機能しません。
「M」を1文字目または2文字目とする行はどのように一致させることができますか?
これは興味深い問題です。それを使って、私が興味を持っている他のパターンを含めて正規表現を拡張しました[http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.status.html] 'svn st -u | findstr/r"^[ADMRCXI?!] ^。[MC]^.. L^... \ +^... S^..... [KOTB] ^。 ..... \ * "'。それはかなりではありませんが、偽陽性のない仕事をしなければなりません。理想的には、私は 'クリーナー'の回答をしたいと思います... – Craig