KOROMOON

착한 사마리아인이 되고 싶습니다.

3/31/2020

윈도우 findstr 명령어


( 1 ) 설명


파일에서 문자열을 찾습니다.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
         [/F:파일][/C:문자열] [/G:파일] [/D:디렉터리 목록] [/A:색 속성] [/OFF[LINE]]
         문자열 [[드라이브:][경로]파일이름[ ...]]

  /B         패턴이 행의 첫 부분에 있는지를 비교합니다.
  /E         패턴이 행의 끝부분에 있는지를 비교합니다.
  /L         찾는 문자열을 글자 그대로 사용합니다.
  /R         찾는 문자열을 정규식으로 사용합니다.
  /S         현재 디렉터리와 모든 하위 디렉터리에서 일치하는 파일을 찾습니다.
  /I         찾을 때 대/소문자를 구별하지 않습니다.
  /X         정확히 일치하는 줄만 보여줍니다.
  /V         일치하는 텍스트가 없는 줄만 보여줍니다.
  /N         일치하는 각 줄 앞에 줄 번호를 보여줍니다.
  /M         파일에 일치하는 텍스트가 있으면 파일 이름만 보여줍니다.
  /O         일치하는 각 줄 앞에 문자 오프셋을 보여줍니다.
  /P         인쇄할 수 없는 텍스트가 포함된 파일은 건너뜁니다.
  /OFF[LINE] 오프라인 속성 세트 파일을 건너뛰지 않습니다.
  /A:속성    색 속성을 두 자리 16진수로 지정합니다. "color /?"를 참조하십시오.
  /F:파일    지정된 파일에서 파일 목록을 읽습니다('/'는 콘솔에 해당됩니다).
  /C:문자열  지정된 텍스트를 글자 그대로 찾는 문자열로 사용합니다.
  /G:파일    지정된 파일로부터 찾는 텍스트를 받습니다('/'는 콘솔에 해당됩니다).
  /D:디렉터리    디렉터리 목록을 구분하는 세미콜론(;)를 찾습니다.
  문자열     찾을 텍스트.
  [드라이브:][경로]파일이름
             찾을 파일을 지정합니다.

/C 옵션을 사용한 경우가 아니면, 찾는 문자열을 여러 개 지정할 때
공백으로 분리하십시오. 예를 들면, 'FINDSTR "hello there" x.y' 명령을
입력하면 파일 x.y에서 "hello"나 "there"을 찾습니다.
반면에 'FINDSTR /C:"hello there" x.y' 명령을 입력하면 파일 x.y에서
"hello there"을 찾습니다.

정규식에 대한 참고 사항:
  .         와일드카드: 모든 문자
  *         반복: 문자나 클래스에 대하여 0번 이상 반복
  ^         행 위치: 행의 앞부분
  $         행 위치: 행의 끝부분
  [클래스]  문자 클래스: 세트에 있는 문자
  [^클래스] 역 클래스: 세트에 없는 문자
  [x-y]     범위: 특정 범위에 있는 문자
  \x        이스케이프: 메타 문자 x를 문자 그대로 사용
  \<xyz     단어 위치: 단어의 앞부분
  xyz\>     단어 위치: 단어의 끝부분

Findstr에서 사용 가능한 정규식은 온라인 명령을 참조하십시오.



( 2 ) 사용예

test.txt 파일에서 koromoon 문자열 검색
findstr koromoon test.txt

test.txt 파일에서 koromoon 으로 사작해서 jjang 로 끝나는 문자열 검색
findstr koromoon.*jjang test.txt

test.txt 파일에서 첫 문구에서 koromoon 으로 시작하는 문자열 검색
(앞에 특수 문자열이 있는 것도 출력됨. 순수 koromoon... 으로 시작하는 문자열은 따로 못빼는 것으로 확인됨. ㅠㅠ)
findstr ^koromoon test.txt

test.txt 파일에서 첫 문구에서 <koromoon 으로 시작하는 문자열 검색
findstr ^<koromoon test.txt

현재 위치한 디렉토리의 모든 파일에서 koromoon 문자열 검색
(여기서 /N 옵션은 줄번호를 출력함)
findstr /N koromoon *

현재 위치한 디렉토리의 모든 txt 파일에서 koromoon 문자열 검색
findstr /N koromoon *.txt

C 드라이브 전체에서 대소문자 koromoon 문자열 검색
(여기서 /S 옵션은 하위 디렉토리를 포함시키는 옵션이며 /I 옵션은 대소문자를 구분하지 않는 옵션임)
findstr /S /I koromoon C:\*.*

현재 위치의 하위 폴더까지 포함된 전체 파일에서 대소문자 구분없이 koromoon 문자열 검색
findstr /S /N /I koromoon *



============================================================
본 게시물은 KOROMOON 님께서 작성하였으며 CCL (Creative Commons License) 에서 "저작자표시-비영리-동일조건변경허락" 이용조건으로 자료를 이용하셔야 합니다.

댓글 4개:

  1. 안녕하세요 2018년도애 작성하신 IDS에 관해 여쭤볼게 있는데 여쭤봐도 될까요??

    답글삭제
    답글
    1. 네 말씀하시길 바랍니다.

      삭제
    2. 늦은 시간에 답변을 드려 죄송합니다. 현재 10대의 pc정도가 있는데, 한대의 pc에 현재 포스팅 해주신 방법으로 IDS를 설치를 했습니다. 이제 이 IDS를 통해 탐지를 하고 싶은데, 어떻게 구성을 해야할지를 잘 모르겠어서 질문을 드립니다. 현재 미러링 하는 tap장비나 스위치 허브는 없어서요 미러링 기능이 없는 허브와 UTM장비가 있긴한데 ids/ips 기능을 지원하지 않는 utm장비입니다 ㅜ. 어떻게 구성을 해야 하는지 답이 나오질 않아 질문드려요

      삭제
    3. 안녕하세요... 스노트 프로그램이 실행시킬 때 네트워크 카드가 스니핑 모드로 바꾸면서 탐지됩니다.
      즉 10대의 PC가 동일 네트워크에 있다면 탐지가 됩니다. 단, 수많은 트래픽을 스니핑을 하다보니 패킷 누수가 생길 수 있으니 그 점 감안하셨야 합니다.

      삭제