“찾기”명령은 일반적으로 대부분의 요구 사항에 적합하지만 (`link : / windows-Using_the_Find_Command [찾기 명령 사용]`이라는 제목의 팁 참조) 해당 시간에 더 강력한 “Findstr”명령도 있습니다. 특정 상황에서 문자열을 찾아야 할 때. 가장 간단한 형태의 Findstr은 Find와 비슷합니다.

C:\> FINDSTR "document" Barry?.tmp

Findstr은 Find보다 더 많은 스위치를 허용하며 다음을 입력하여 전체 목록을 볼 수 있습니다.

C:\> FINDSTR /?

Find의 출력과

Findstr은 후자가 발견 된 각 행에 발견 된 파일의 이름을 접두사로 붙입니다 (그림 1 참조).

image

그림 1. Findstr은 찾은 문자열과 함께 파일 이름을 인라인으로 표시합니다.

Findstr에서 사용할 수있는 스위치는 12 개가 넘지 만 모든 스위치를 살펴 보는 대신 Find 명령에 사용할 수있는 더 중요한 (imo) 기능 중 일부만 설명하겠습니다. 가장 먼저 언급 할 것은 여러 문자열을 동시에 검색 할 수 있다는 것입니다. 찾고있는 검색 문자열에 공백이 포함 된 경우 Findstr은 string1 or string2 or string3 등을 찾으려고 가정합니다. 예를 들어 “document”또는 “text”를 포함하는 모든 줄을 찾으려면 그냥 분리합니다. 공백이있는 단어 :

(그림 2 참조)

image

그림 2. 한 번에 두 개의 문자열 검색.

또 다른 좋은 기능은 Findstr이 하위 디렉토리에서 파일을 검색 할 수 있다는 것입니다.

\ Temp 디렉토리에 Barry1.tmp가 있고 \ Temp \ Temp2 디렉토리에 Barry2.tmp가 있다고 가정 해 봅시다. \ Temp 디렉토리에서 “/ S”를 사용할 수 있습니다

Findstr에 하위 디렉터리를 검색하도록 전환합니다. 다음과 같이 보입니다 :

(그림 3 참조)

image

그림 3. / S를 사용하여 하위 디렉터리 검색

제가 보여 드릴 수있는 더 많은 기능이 있지만 마지막 기능에는 특별한주의가 필요합니다. 이것이 정규 표현식을 사용하여 검색하는 개념입니다. “정규식 소개”는 다른 팁에서 다루지 만 Findstr에서 정규식을 사용하는 방법을 보여 드리고자합니다.

“문서”라는 단어를 검색하려고하지만 쉼표 나 마침표와 같은 문장 부호가 뒤에 오는 항목 만 검색한다고 가정 해 보겠습니다. 이 검색 유형에 대한 정규식은 “document [,.]”입니다. Findstr에 “/ R”스위치를 지정하여 검색 문자열이 정규식을 사용하고 있음을 표시하고 “/ N”스위치를 추가하여 줄 번호를 확인합니다. 최종 결과는 다음과 같습니다. (그림 4 참조)

image

그림 4. 정규식을 사용한 검색.

Findstr에는 여전히 더 많은 것이 있지만 파일에서 문자열을 검색해야 할 때 사용하기 시작할 위치에 대한 식욕을 자극했으면합니다.

이 팁 (13505)은 Windows 7, 8 및 10에 적용됩니다.