2012-10-11 1 views
0

저는 Windows 셸에 익숙하지 않습니다.Windows 명령 줄/셸 - 다른 파일에 파일을 추가하는 동안 정규식과 일치하는 줄을 무시하는 방법?

DontAppend this line shouldn't be appended 
DontAppend this line shouldn't be either 
Some lines 
more lines 

을 그리고는 다음과 같이 추가 해요 : : 그럼, 내 파일처럼 가정 해 봅시다

type file.txt >> AppendHere.txt 

이 전체 파일을 추가합니다. "DontAppend"로 시작하는 줄을 건너 뛰게하려면 어떻게해야합니까?

답변

3

같은 실제 필터링 도구가 필요합니다 명령 FINDSTR 당신이 사용할 수 있도록 문자열이나 정규 표현식을 포함하지 않는 행을 검색하게됩니다 :

findstr /vrc:"^[^A-Za-z0-9]*DontAppend" file.txt >> AppendHere.txt 

/r 옵션은 정규식을 사용해야하며 캐럿 (^)은 문자열로 시작해야한다고 말합니다.

편집 : 이 유니 코드 문제를 해결하는 영숫자가 아닌 문자에 대한 필터를 추가했습니다.

+0

+1 나는 몇 년 동안 Windows를 사용 해왔고 모든 상자에'unixutils'를 설치 한 후에'findstr'을 사용하지 않았습니다.) o) – didster

+0

@didster 나는 그것을 사용하지 않았지만 어딘가에 대해 읽었습니다. 과거 그래서 나는 그것을 찾았다. 유닉스 사용자가 Windows 환경에 갇혀 있고 unixutils/cygwin을 사용할 수 없으면 평행선을 찾는 법을 배웁니다. –

+0

파일이'DontAppend'로 시작하는 경우를 제외하고 모든'DontAppend' 행에 대해 작동합니다. . "파일 시작"을위한 정규 표현식이 함께 사용 되나요? – Kache

0

하나는 창문 grep를 얻을하거나 Windows '자신의 find 명령을 사용할 수 있습니다

type so.txt|find /v "DontAppend" >> output.txt 

/v 옵션은 문자열과 일치하지 말아 출력 라인을 의미한다. 이 있지만 같은 아주 간단한 것들에 대한

find 작품을 더 많이 grep

관련 문제