2012-02-02 3 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 문자열 중 하나를 포함하지 않는 인쇄 라인을 의미 라인을 필터링 할 수 있습니다 옵션은 각 라인

/ℓ의 시작 부분에서 시작하여 검색 문자열과 일치하는 것을 의미하는 것은 (정규 표현식 반대) 문자 검색 문자열을 의미

불 태우기 ch 문자열은 각 공백에서 분리되므로 "<>"은 실제로 2 개의 검색 문자열입니다.

FINDSTR에 대한 자세한 도움말은 'FINDSTR /?'을 사용하십시오.

자세한 내용은 What are the undocumented features and limitations of the Windows FINDSTR command?

관련 문제