컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Monday, September 25, 2006

윈도우 도스창에서 정규식 사용법 - Windows XP regex FINDSTR


윈도우2000이나 윈도우XP에는 findstr 이라는 명령어가 있습니다. 이것으로 정규식을 사용하여 파일 속의 문자열을 찾을 수 있습니다. 즉 윈도우용 grep 인 것입니다. (▶▶ [grep.exe] 유닉스/리눅스의 grep 을 윈도우에서 사용하기: 문자열 찾기 참조)

윈도우의 도스창(윈도에서의 정식명칭은, 명령 프롬프트)을 열고,

findstr foo *

라고 하면, 현재 디렉토리의 모든 문서에서, foo 라는 문자열이 들어 있는 문서를 찾아서 그 행을 보여 줍니다. 이것은 일반 문자열 찾기이고, 정규식을 사용하려면 가령

findstr \^foo$ *

이것은 ^foo$ 라는 정규식을 사용한 예입니다. 정규식에서 ^ 은 행의 처음, $는 행의 마지막을 의미하기에, ^foo$ 의 의미는, foo 로만 이루어진 행을 찾으라는 뜻이 됩니다. 그렇지만 윈도우에서 ^ 이런 캐럿 기호는 특수한 의미로 사용되는 문자이기에, ^ 앞에 백슬래쉬(\)를 붙여서 이스케이프해 주었습니다.


만약
<foo>
라는 문자열을 찾으려면

findstr ^<foo^> *

이렇게 이스케이프해 주어야 합니다. 도스창에서 <> 기호는 재지향에 사용되는 특수기호이기 때문입니다.

실은 도스창의 이스케이프 기호가 바로 ^ 입니다.



정규식은, 도스창에서 파일 속의 문자열 찾기에만 쓰이는 것이 아니라, 텍스트 에디터에서 문자열 찾기와 치환에 더 널리 사용됩니다.


▶▶ [윈도우용 grep] find 보다 더 강력한 findstr 명령




tag: regex
정규식 | 정규표현식 | Regex | Regular Expression
tag: batch
배치파일 | DOS CMD BATCH .BAT

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top