2012-02-02 6 views
0

私はcvs diffの出力をlog.txtファイルにリダイレクトしています。Windowsバッチコマンドは、いくつかのファイル行を無視しますか?

C:\Temp> cvs diff -b -B -r 1.5 -r 1.6 Project\src\Sample.java > log.txt 

上記のコマンドを実行する際log.txtファイルの生成されたコンテンツは、次のようである:

Index: project/src/Sample.java 
=================================================================== 
RCS file: \repobase/src/Sample.java,v 
retrieving revision 1.5 
retrieving revision 1.6 
diff -r1.5 -r1.6 
78a79,82 
>  public java.lang.Class getJavaClass() { 
>   return Sample.class; 
>  } 
> 
92c96 
<   return Demo.getparentClass(this.getClass()); 
--- 
>   return MyClass.clazz; 

<又は>で始まり、このファイルのすべての行を必要としません。私は、最小限の残りをlog.txtファイルにプッシュするためにのみ、すべてのそのような行を無視したいと思います。どのように私はWindowsのコマンドラインでこれを行うことができますか?

答えて

1

おそらく、cvs diff - briefオプションを使用すると、必要なものが得られます。

れていない場合、あなたは、パイプのdiff出力がFINDSDTR、それは

cvs diff -b -B -r 1.5 -r 1.6 Project\src\Sample.java | findstr /vbl "< >" > log.txt 

/vオプションが

/Bのいずれかの文字列が含まれていない印刷行を意味行をフィルタリングできるようにすることができますオプションでは、各ライン

/Lの先頭から検索文字列と一致する意味する(正規表現とは対照的に)リテラル検索文字列を意味

シアーchの文字列は各スペースで分割されているので、 "<>"は実際には2つの検索文字列です。

FINDSTRの詳細については、「FINDSTR /?」を参照してください。

追加のヘルプについては、What are the undocumented features and limitations of the Windows FINDSTR command?

関連する問題