Computer >> 컴퓨터 >  >> 체계 >> Windows

Windows 11/10에서 FindSTR 및 Select-String 명령을 사용하는 방법

FINDSTR에 대해 들어본 적이 있습니까? 및 Select-String ? Select-String은 입력 문자열 및 파일에서 텍스트 및 패턴을 검색하는 데 사용되는 cmdlet입니다. Linux의 grep 및 Windows의 FINDSTR과 유사합니다. 이 가이드에서는 FINDSTR 을(를) 어떻게 사용하는지 알아봅니다. 및 선택 문자열 Windows 11/10의 명령.

Windows 11/10에서 FindSTR 및 Select-String 명령을 사용하는 방법

FINDSTR이란 무엇이며 FINDSTR을 사용하는 방법

FINDSTR은 Windows의 파일에서 특정 텍스트를 찾는 데 사용되는 명령입니다. 줄이면 문자열 찾기가 FINDSTR이 됩니다. 특정 텍스트가 있는 파일을 찾는 데에도 사용됩니다. 다양한 기능을 수행하는 다양한 FINDSTR 명령이 있습니다. qgrep이라는 이름으로 Windows 2000 Resource Kit와 함께 처음 출시되었습니다. . Windows에 내장된 도구이며 해당 파일은 .exe 형식으로 제공됩니다. FINDSTR은 유니코드 형식의 공백과 같은 null 바이트를 검색하지 않습니다.

Microsoft에서 개발한 명령 프롬프트 또는 기타 명령줄 해석기에서 findstr 명령을 사용하는 몇 가지 기본 규칙이 있습니다. 그들은:

  • 각 FINDSTR 명령은 문자열과 파일 이름을 포함해야 합니다.
  • FINDSTR 명령에서 리터럴 문자와 메타 문자를 사용할 수 있습니다. 리터럴 문자는 구문에서 특별한 의미가 없습니다. 문자와 숫자를 리터럴 문자라고 합니다. 메타 문자는 각각에 대해 특정한 의미를 갖는 기호입니다. 다음은 구문에서 허용되는 메타 문자와 그 의미입니다.
<스타일="텍스트 정렬:중심;" width="156" height="38">

메타 문자

.

와일드카드 – 모든 문자

*

반복 – 이전 문자 또는 클래스의 0번 이상 발생.

^

시작 줄 위치 – 라인의 시작.

$

종료 줄 위치 – 줄 끝.

[클래스]

문자 클래스 – 세트의 임의의 한 문자.

[^class]

역 클래스 – 세트에 없는 임의의 한 문자.

[x-y]

범위 – 지정된 범위 내의 모든 문자.

\x

이스케이프 – 메타 문자의 리터럴 사용.

\<문자열

시작 단어 위치 – 단어의 시작.

문자열\>

끝 단어 위치 – 단어의 끝.

  • 여러 문자열을 검색하려면 별도의 줄에 검색 기준이 있는 텍스트 파일을 만들어야 합니다.
  • 문자열 사이에 공백을 사용하여 /c 구문을 제외하고 단일 명령에서 여러 문자열 검색 .

findstr 구문의 매개변수 및 의미

매개변수

설명

/b

텍스트 패턴이 줄의 시작 부분에 있는 경우 일치합니다.

/e

텍스트 패턴이 줄 끝에 있는 경우 일치합니다.

/l

검색 문자열을 문자 그대로 처리합니다.

/r

검색 문자열을 정규식으로 처리합니다. 이것이 기본 설정입니다.

/s

현재 디렉토리와 모든 하위 디렉토리를 검색합니다.

/i

문자열을 검색할 때 대소문자를 무시합니다.

/x

정확하게 일치하는 줄을 인쇄합니다.

/v

일치하는 항목이 없는 줄만 인쇄합니다.

/n

일치하는 각 줄의 줄 번호를 인쇄합니다.

/m

파일에 일치하는 항목이 있는 경우 파일 이름만 인쇄합니다.

/o

각 일치하는 줄 앞에 문자 오프셋을 인쇄합니다.

/p

인쇄할 수 없는 문자가 있는 파일을 건너뜁니다.

/오프[라인]

오프라인 속성이 설정된 파일을 건너뛰지 않습니다.

/f:<파일>

지정된 파일에서 파일 목록을 가져옵니다.

/c:<문자열>

지정된 텍스트를 리터럴 검색 문자열로 사용합니다.

/g:<파일>

지정된 파일에서 검색 문자열을 가져옵니다.

/d:

지정된 디렉토리 목록을 검색합니다. 각 디렉토리는 세미콜론(;)으로 구분해야 합니다(예:dir1;dir2;dir3). .

/a:

2개의 16진수로 색상 속성을 지정합니다. color
/?
을 입력합니다. 추가 정보.

<문자열>

파일 이름에서 검색할 텍스트를 지정합니다. . 필수.

[\<드라이브>:][<경로>]<파일 이름>[…]

검색할 위치와 파일을 지정합니다. 하나 이상의 파일 이름이 필요합니다.

/?

명령 프롬프트에 도움말을 표시합니다.

findstr 명령 사용

1] x.y 파일에서 microsoft 또는 windows라는 단어를 검색하려면 다음을 사용해야 합니다.

findstr microsoft windows x.y

2] x.y 파일에서 microsoft windows라는 단어를 검색하려면 다음을 사용해야 합니다.

findstr /c:"microsoft windows" x.y

위의 명령 /c에서 파일에서 지정된 텍스트 "microsoft windows"를 검색하는 데 사용됩니다.

3] twc.txt 텍스트 파일에서 대문자 M이 있는 Microsoft 단어를 찾으려면 다음을 사용해야 합니다.

findstr Microsoft twc.txt

4] 대소문자를 구분하지 않고 디렉터리 및 하위 디렉터리에서 특정 단어 Microsoft를 검색하려면 다음을 사용하십시오.

findstr /s /i Microsoft *.*

위 구문에서 /s 현재 디렉토리와 그 하위 디렉토리를 검색하는 데 사용됩니다. /i Microsoft 문자열에서 대소문자(대문자 M)를 무시하는 데 사용됩니다.

5] 단어 앞에 여러 공백이 있는 To로 시작하는 줄을 찾고 문자열이 발생한 줄 번호를 표시하려면 다음을 사용하십시오.

findstr /b /n /r /c:^ *To *.bas

6] stringlist.txt의 검색 기준과 filelist.txt의 파일 목록을 사용하여 여러 파일에서 여러 문자열을 검색하고 result.out 파일에 저장된 결과를 보려면 다음을 사용하십시오.

findstr /g:stringlist.txt /f:filelist.txt > results.out

7] 특정 디렉토리와 그 하위 디렉토리에서 windowsclub이라는 단어가 포함된 파일을 찾으려면 다음을 사용하십시오.

findstr /s /i /m \<thewindowsclub\> *.*

8] windowsclub과 같은 논문, 온도계 등으로 시작하는 다른 단어를 포함하는 파일을 찾으려면 다음을 사용하십시오.

findstr /s /i /m \<the.* *.*

다음은 명령 프롬프트 등과 같은 명령줄 인터프리터에서 findstr 명령을 사용할 수 있는 방법입니다. 구문을 작성하고 정기적으로 findstr 명령을 사용하려면 모든 매개변수와 해당 기능, 메타 문자 및 그 의미를 이해해야 합니다.

Select-String이란 무엇이며 매개변수

PowerShell에서 코드 덩어리를 작성하고 해당 PowerShell 파일에서 특정 문자열과 텍스트를 추적하지 못했다고 상상해 보십시오. 수천 줄의 코드에서 수천 개의 문자열과 단어를 찾아야 합니다. 해당 PowerShell 입력 파일에서 문자열과 텍스트를 검색할 수 있는 Select-String 명령이 있습니다. Linux의 grep과 유사합니다.

Select-String은 입력 문자열 및 파일의 텍스트와 패턴을 검색하는 데 사용되는 cmdlet입니다. Linux의 grep 및 Windows의 FINDSTR과 유사합니다. Select-String을 사용하여 일부 텍스트를 검색하면 각 줄에서 첫 번째 일치 항목을 찾고 파일 이름, 줄 번호 및 일치가 발생한 전체 줄을 표시합니다. 한 줄에 여러 개의 일치 항목을 찾거나 일치 전후에 텍스트를 표시하거나 True 또는 False와 같은 부울 표현식으로 결과를 얻는 데 사용할 수 있습니다. 또한 이를 사용하여 명령에서 사용하는 표현식의 일치를 제외한 모든 텍스트를 표시할 수 있습니다. FINDSTR에서 사용하는 WildCard는 Select-String에서도 사용할 수 있습니다. 또한 Select-String은 ASCII, 유니코드 등과 같은 다양한 파일 인코딩과 함께 작동합니다. BOM(Byte-Order-Mark)을 사용하여 파일 인코딩을 결정합니다. 파일에 BOM이 없으면 Select-String은 파일을 UTF8로 가정합니다.

Select-String의 매개변수

Microsoft는 구문에 사용되는 아래 매개변수를 구상하고 개발했습니다.

-AllMatches

Select-Sting이 일반적으로 수행하는 줄의 첫 번째 일치와 달리 한 줄의 모든 일치 항목을 검색하는 데 사용됩니다.

-CaseSensitive

일치 항목이 대소문자를 구분함을 나타냅니다. 기본적으로 Select-String은 대소문자를 구분하지 않습니다.

-Context

매치의 라인 전후에 입력하는 지정된 라인 수를 캡처하는 데 사용됩니다. 1을 입력하면 경기 전후에 한 줄씩 캡처됩니다.

-Culture

코딩에는 서수, 불변 등과 같은 특정 문화가 있습니다. 이 매개변수는 구문에서 문화권을 지정하는 데 사용됩니다.

-Encoding

ASCII, UTF8, UTF7, Unicode 등과 같은 파일에서 텍스트의 인코딩 형식을 지정하는 데 사용됩니다.

-Exclude

이 매개변수는 파일에서 특정 텍스트를 제외하는 데 사용됩니다.

-Include

이 매개변수는 파일에 특정 텍스트를 포함하는 데 사용됩니다.

-InputObject

검색할 텍스트를 지정할 때 사용합니다.

-List

텍스트와 일치하는 파일 목록을 검색하는 데 사용됩니다.

-LiteralPath

검색 경로를 지정하는 데 사용됩니다.

-NoEmphasis

일반적으로 Select-String은 파일에서 일치 항목을 강조 표시합니다. 이 매개변수는 강조 표시를 피하기 위해 사용됩니다.

-NotMatch

지정된 패턴과 일치하지 않는 텍스트를 찾을 때 사용합니다.

-Path

와일드카드를 사용하여 검색할 경로를 지정할 때 사용합니다.

-Pattern

매개변수는 각 라인에서 패턴으로 일치하는 항목을 찾는 데 사용됩니다.

-Quiet

이 매개변수는 True 또는 False와 같은 부울 값으로 출력을 가져오는 데 사용됩니다.

-Raw

일치 정보가 아닌 일치하는 개체만 보기 위해 사용됩니다.

-SimpleMatch

매개변수는 정규식 일치가 아닌 단순 일치를 지정하는 데 사용됩니다.

FINDSTR과 Select-String의 차이점

FINDSTR은 파일의 텍스트와 문자열을 검색하는 데 사용되는 PowerShell 이전 시대 실행 파일입니다. Select-String은 파일에서 텍스트와 패턴을 검색하는 데 사용되는 PowerShell cmdlet입니다. FINDSTR과 비교할 때 Select-String은 일치에 대한 많은 정보를 표시하는 더 강력하고 복잡한 cmdlet입니다.

grep에 해당하는 PowerShell은 무엇입니까?

Select-String은 Windows에서 사용할 수 있는 grep에 해당하는 PowerShell입니다. grep과 같은 방식으로 작동하며 구문에서 사용하는 매개변수에 따라 일치에 대한 자세한 정보를 제공합니다.

FINDSTR은 Word 파일에서 작동합니까?

예, FINDSTR은 Word 파일에서 작동합니다. 그러나 입력한 문자열이 파일에 있더라도 일치하는 항목 찾기를 표시할 수 없습니다. 알 수 없는 기술적인 이유로 인해 .doc 형식의 바이너리 파일이 아닌 .docx 형식의 결과를 제공할 수 있습니다.

관련 읽기 :Windows에서 PowerShell 버전을 확인하는 방법.

Windows 11/10에서 FindSTR 및 Select-String 명령을 사용하는 방법