다음을 통해 공유


Select-String

문자열 및 파일에서 텍스트를 찾습니다.

Syntax

Select-String
      [-Pattern] <string[]>
      [-Path] <string[]>
      [-SimpleMatch]
      [-CaseSensitive]
      [-Quiet]
      [-List]
      [-Include <string[]>]
      [-Exclude <string[]>]
      [-NotMatch]
      [-AllMatches]
      [-Encoding <string>]
      [-Context <Int32[]>]
      [<CommonParameters>]
Select-String
      [-Pattern] <string[]>
      -InputObject <psobject>
      [-SimpleMatch]
      [-CaseSensitive]
      [-Quiet]
      [-List]
      [-Include <string[]>]
      [-Exclude <string[]>]
      [-NotMatch]
      [-AllMatches]
      [-Encoding <string>]
      [-Context <Int32[]>]
      [<CommonParameters>]
Select-String
      [-Pattern] <string[]>
      -LiteralPath <string[]>
      [-SimpleMatch]
      [-CaseSensitive]
      [-Quiet]
      [-List]
      [-Include <string[]>]
      [-Exclude <string[]>]
      [-NotMatch]
      [-AllMatches]
      [-Encoding <string>]
      [-Context <Int32[]>]
      [<CommonParameters>]

Description

cmdlet은 Select-String 입력 문자열 및 파일에서 텍스트 및 텍스트 패턴을 검색합니다. UNIX의 grep 또는 Windows의 findstr.exe 유사하게 사용할 Select-String 수 있습니다.

Select-String 는 텍스트 줄을 기반으로 합니다. 기본적으로 는 Select-String 각 줄에서 첫 번째 일치 항목을 찾은 다음 각 일치 항목에 대해 일치 항목이 포함된 줄에 파일 이름, 줄 번호 및 모든 텍스트를 표시합니다. 줄당 여러 일치 항목을 찾거나, 일치 전후에 텍스트를 표시하거나, 일치 항목이 있는지 여부를 나타내는 부울 값(True 또는 False)을 표시하도록 지시 Select-String 할 수 있습니다.

Select-String 는 정규식 일치를 사용하지만 지정한 텍스트에 대한 입력을 검색하는 일치를 수행할 수도 있습니다.

Select-String 는 각 입력 파일의 첫 번째 일치 후 모든 텍스트 일치 항목을 표시하거나 중지할 수 있습니다. Select-String 는 지정된 패턴과 일치하지 않는 모든 텍스트를 표시하는 데 사용할 수 있습니다.

유니코드 텍스트의 파일을 검색할 Select-String 때와 같이 특정 문자 인코딩이 필요하게 되도록 지정할 수도 있습니다. Select-String 는 BOM(바이트 순서 표시)을 사용하여 파일의 인코딩 형식을 검색합니다. 파일에 BOM이 없는 경우 인코딩이 UTF8이라고 가정합니다.

예제

예제 1: 대/소문자를 구분하는 일치 항목 찾기

이 예제에서는 파이프라인에서 cmdlet으로 전송된 텍스트의 대/소문자 구분 일치를 Select-String 수행합니다.

'Hello', 'HELLO' | Select-String -Pattern 'HELLO' -CaseSensitive -SimpleMatch

HelloHELLO 텍스트 문자열은 파이프라인 아래로 cmdlet으로 Select-String 전송됩니다. Select-String 에서는 Pattern 매개 변수를 사용하여 HELLO를 지정합니다. CaseSensitive 매개 변수는 대/소문자 패턴만 일치해야 한다고 지정합니다. SimpleMatch 는 선택적 매개 변수이며 패턴의 문자열이 정규식으로 해석되지 않도록 지정합니다. Select-String 는 PowerShell 콘솔에 HELLO 를 표시합니다.

예제 2: 텍스트 파일에서 일치 항목 찾기

이 명령은 현재 디렉터리의 파일 이름 확장명을 .txt 가진 모든 파일을 검색합니다. 출력은 지정된 문자열을 포함하는 파일의 줄을 표시합니다.

Get-Alias | Out-File -FilePath .\Alias.txt
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\*.txt -Pattern 'Get'

Alias.txt:8:Alias            cat -> Get-Content
Alias.txt:28:Alias           dir -> Get-ChildItem
Alias.txt:43:Alias           gal -> Get-Alias
Command.txt:966:Cmdlet       Get-Acl
Command.txt:967:Cmdlet       Get-Alias

이 예제 Get-Alias 에서는 및 Get-Command 을 cmdlet과 함께 Out-File 사용하여 현재 디렉터리에서 두 개의 텍스트 파일 (Alias.txtCommand.txt)을 만듭니다.

Select-String 표(*) 와일드카드와 함께 Path 매개 변수를 사용하여 파일 이름 확장 .txt명을 가진 현재 디렉터리의 모든 파일을 검색합니다. Pattern 매개 변수는 Get-에 일치하는 텍스트를 지정합니다. Select-String 는 PowerShell 콘솔의 출력을 표시합니다. 파일 이름과 줄 번호는 Pattern 매개 변수에 대한 일치 항목이 포함된 각 콘텐츠 줄 앞에 섰습니다.

예제 3: 패턴 일치 찾기

이 예제에서는 여러 파일을 검색하여 지정된 패턴에 대한 일치 항목을 찾습니다. 패턴은 정규식 수량자를 사용합니다. 자세한 내용은 about_Regular_Expressions 참조하세요.

Select-String -Path "$PSHOME\en-US\*.txt" -Pattern '\?'

C:\Program Files\PowerShell\6\en-US\default.help.txt:27:    beginning at https://go.microsoft.com/fwlink/?LinkID=108518.
C:\Program Files\PowerShell\6\en-US\default.help.txt:50:    or go to: https://go.microsoft.com/fwlink/?LinkID=210614

cmdlet은 Select-String경로패턴의 두 매개 변수를 사용합니다. Path 매개 변수는 PowerShell 디렉터리를 지정하는 변수 $PSHOME 를 사용합니다. 경로의 나머지 부분에는 하위 디렉터리 en-US 가 포함되며 디렉터리의 각 *.txt 파일을 지정합니다. Pattern 매개 변수는 각 파일의 물음표(?)와 일치하도록 지정합니다. 백슬래시(\)는 이스케이프 문자로 사용되며 물음표(?)가 정규식 수량자이므로 필요합니다. Select-String 는 PowerShell 콘솔의 출력을 표시합니다. 파일 이름과 줄 번호는 Pattern 매개 변수에 대한 일치 항목이 포함된 각 콘텐츠 줄 앞에 섰습니다.

예제 4: 함수에서 Select-String 사용

이 예제에서는 PowerShell 도움말 파일에서 패턴을 검색하는 함수를 만듭니다. 이 예제의 경우 함수는 PowerShell 세션에만 존재합니다. PowerShell 세션이 닫혀 있으면 함수가 삭제됩니다. 자세한 내용은 about_Functions 참조하세요.

PS> Function Search-Help
>> {
>> $PSHelp = "$PSHOME\en-US\*.txt"
>> Select-String -Path $PSHelp -Pattern 'About_'
>> }
PS>

PS> Search-Help

C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:2:   about_ActivityCommonParameters
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:31:  see about_WorkflowCommonParameters.
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:33:  about_CommonParameters.

함수는 PowerShell 명령줄에 만들어집니다. 명령은 FunctionSearch-Help라는 이름을 사용합니다. Enter 키를 눌러 함수에 문 추가를 시작합니다. 프롬프트에서 >> 각 문을 추가하고 예제와 같이 Enter 키를 누릅니다. 닫는 대괄호가 추가되면 PowerShell 프롬프트로 돌아갑니다.

함수에는 두 개의 명령이 포함되어 있습니다. 변수는 $PSHelp PowerShell 도움말 파일의 경로를 저장합니다. $PSHOME는 디렉터리의 각 *.txt 파일을 지정하는 하위 디렉터리 en-US가 있는 PowerShell 설치 디렉터리입니다.

Select-String 함수의 명령은 경로패턴 매개 변수를 사용합니다. Path 매개 변수는 변수를 $PSHelp 사용하여 경로를 가져옵니다. Pattern 매개 변수는 문자열 About_ 검색 조건으로 사용합니다.

함수를 실행하려면 를 입력합니다 Search-Help. 함수의 Select-String 명령은 PowerShell 콘솔의 출력을 표시합니다.

다음은 Windows 이벤트 로그에서 문자열을 검색하는 예제입니다. 변수 $_ 는 파이프라인의 현재 개체를 나타냅니다. 자세한 내용은 about_Automatic_Variables를 참조하세요.

$Events = Get-WinEvent -LogName Application -MaxEvents 50
$Events | Select-String -InputObject {$_.message} -Pattern 'Failed'

cmdlet은 Get-WinEventLogName 매개 변수를 사용하여 애플리케이션 로그를 지정합니다. MaxEvents 매개 변수는 로그에서 50개의 가장 최근 이벤트를 가져옵니다. 로그 콘텐츠는 라는 $Events변수에 저장됩니다.

변수는 $Events 파이프라인 아래로 cmdlet으로 Select-String 전송됩니다. Select-String 에서는 InputObject 매개 변수를 사용합니다. 변수는 $_ 현재 개체를 나타내며 message 는 이벤트의 속성입니다. Pattern 매개 변수는 문자열 Failed를 종으로 지정하고 에서 $_.message일치 항목을 검색합니다. Select-String 는 PowerShell 콘솔의 출력을 표시합니다.

예제 6: 하위 디렉터리에서 문자열 찾기

이 예제에서는 디렉터리와 모든 하위 디렉터리에서 특정 텍스트 문자열을 검색합니다.

Get-ChildItem -Path C:\Windows\System32\*.txt -Recurse | Select-String -Pattern 'Microsoft' -CaseSensitive

Get-ChildItem 에서는 Path 매개 변수를 사용하여 C:\Windows\System32*.txt지정합니다. Recurse 매개 변수에는 하위 디렉터리가 포함됩니다. 개체는 파이프라인 Select-String아래로 전송됩니다.

Select-String는 Pattern 매개 변수를 사용하고 Microsoft 문자열을 지정합니다. CaseSensitive 매개 변수는 문자열의 정확한 대/소문자를 일치시킬 때 사용됩니다. Select-String 는 PowerShell 콘솔의 출력을 표시합니다.

참고

사용 권한에 따라 출력에 액세스 거부 메시지가 표시될 수 있습니다.

예제 7: 패턴과 일치하지 않는 문자열 찾기

이 예제에서는 패턴과 일치하지 않는 데이터 줄을 제외하는 방법을 보여 줍니다.

Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get', 'Set'  -NotMatch

cmdlet은 Get-Command 파이프라인 아래로 개체를 전송하여 Out-File 현재 디렉터리에 Command.txt 파일을 만듭니다. Select-String 에서는 Path 매개 변수를 사용하여 Command.txt 파일을 지정합니다. Pattern 매개 변수는 가져오기설정을 검색 패턴으로 지정합니다. NotMatch 매개 변수는 결과에서 GetSet을 제외합니다. Select-String는 Get 또는 Set을 포함하지 않는 PowerShell 콘솔의 출력 표시합니다.

예제 8: 일치 전후 줄 찾기

이 예제에서는 일치하는 패턴 앞과 뒤의 줄을 가져오는 방법을 보여 줍니다.

Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get-Computer' -Context 2, 3

Command.txt:1186:Cmdlet          Get-CmsMessage            3.0.0.0    Microsoft.PowerShell.Security
  Command.txt:1187:Cmdlet          Get-Command               3.0.0.0    Microsoft.PowerShell.Core
> Command.txt:1188:Cmdlet          Get-ComputerInfo          3.1.0.0    Microsoft.PowerShell.Management
> Command.txt:1189:Cmdlet          Get-ComputerRestorePoint  3.1.0.0    Microsoft.PowerShell.Management
  Command.txt:1190:Cmdlet          Get-Content               3.1.0.0    Microsoft.PowerShell.Management
  Command.txt:1191:Cmdlet          Get-ControlPanelItem      3.1.0.0    Microsoft.PowerShell.Management
  Command.txt:1192:Cmdlet          Get-Counter               3.0.0.0    Microsoft.PowerShell.Diagnostics

cmdlet은 Get-Command 파이프라인 아래로 개체를 전송하여 Out-File 현재 디렉터리에 Command.txt 파일을 만듭니다. Select-String 에서는 Path 매개 변수를 사용하여 Command.txt 파일을 지정합니다. Pattern 매개 변수는 Get-Computer를 검색 패턴으로 지정합니다. Context 매개 변수는 전후의 두 값을 사용하고 출력에서 패턴 일치를 꺾쇠 괄호(>)로 표시합니다. Context 매개 변수는 첫 번째 패턴 일치 전의 두 줄과 마지막 패턴 일치 후 세 줄을 출력합니다.

예제 9: 모든 패턴 일치 찾기

이 예제에서는 AllMatches 매개 변수가 텍스트 줄에서 각 패턴 일치를 찾는 방법을 보여 줍니다. 기본적으로 는 Select-String 텍스트 줄에서 패턴의 첫 번째 발생만 찾습니다. 이 예제에서는 cmdlet을 Get-Member 사용하여 찾은 개체 속성을 사용합니다.

PS> $A = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell'

PS> $A

C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:5:    Describes the parameters that Windows PowerShell
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:9:    Windows PowerShell Workflow adds the activity common

PS> $A.Matches

Groups   : {0}
Success  : True
Name     : 0
Captures : {0}
Index    : 4
Length   : 10
Value    : PowerShell

PS> $A.Matches.Length

2073

PS> $B = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell' -AllMatches

PS> $B.Matches.Length

2200

cmdlet은 Get-ChildItemPath 매개 변수를 사용합니다. Path 매개 변수는 PowerShell 디렉터리를 지정하는 변수 $PSHOME 를 사용합니다. 경로의 나머지 부분에는 하위 디렉터리 en-US 가 포함되며 디렉터리의 각 *.txt 파일을 지정합니다. 개체는 Get-ChildItem 변수에 $A 저장됩니다. 변수는 $A 파이프라인 아래로 cmdlet으로 Select-String 전송됩니다. Select-String는 Pattern 매개 변수를 사용하여 각 파일에서 PowerShell 문자열을 검색합니다.

PowerShell 명령줄 $A 에서 변수 내용이 표시됩니다. 두 개의 문자열 PowerShell이 포함된 줄이 있습니다.

속성은 $A.Matches 각 줄에서 PowerShell 패턴의 첫 번째 항목을 나열합니다.

속성은 $A.Matches.Length 각 줄에서 PowerShell 패턴의 첫 번째 발생 횟수를 계산합니다.

변수는 $B 동일한 Get-ChildItem cmdlet을 Select-String 사용하지만 AllMatches 매개 변수를 추가합니다. AllMatches 는 각 줄에서 PowerShell 패턴의 각 발생을 찾습니다. 및 $B 변수에 $A 저장된 개체는 동일합니다.

$B.Matches.Length 각 줄에 대해 PowerShell 패턴이 발생할 때마다 계산되므로 속성이 증가합니다.

매개 변수

-AllMatches

cmdlet이 각 텍스트 줄에서 둘 이상의 일치 항목을 검색한다는 것을 나타냅니다. 이 매개 변수가 Select-String 없으면 각 텍스트 줄에서 첫 번째 일치 항목만 찾습니다.

텍스트 줄에서 일치하는 항목을 두 개 이상 찾으면 Select-String 줄에 대한 MatchInfo 개체가 하나만 내보내지만 개체의 Matches 속성에는 모든 일치 항목이 포함됩니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CaseSensitive

cmdlet 일치 항목이 대/소문자를 구분한다는 것을 나타냅니다. 기본적으로 일치 항목은 대/소문자를 구분하지 않습니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Context

패턴과 일치하는 줄 앞과 뒤의 지정된 줄 수를 캡처합니다.

이 매개 변수 값으로 하나의 숫자를 입력하면 해당 숫자가 일치하는 항목이 있는 줄 앞뒤로 캡처할 줄 수를 결정합니다. 값으로 숫자를 두 개 입력하면 첫 번째 숫자는 일치 항목 앞의 줄 수를 결정하고 두 번째 숫자는 일치 항목 뒤의 줄 수를 결정합니다. -Context 2,3)을 입력합니다.

기본 디스플레이에서 일치하는 선은 디스플레이의 첫 번째 열에 있는 오른쪽 꺾쇠 괄호()(>ASCII 62)로 표시됩니다. 표시되지 않은 줄은 컨텍스트입니다.

Context 매개 변수는 에서 생성된 Select-String개체 수를 변경하지 않습니다. Select-String 는 각 일치 항목에 대해 하나의 MatchInfo 개체를 생성합니다. 컨텍스트는 개체의 Context 속성에 문자열 배열로 저장됩니다.

명령의 Select-String 출력이 파이프라인 아래로 다른 Select-String 명령으로 전송되면 수신 명령은 일치하는 줄의 텍스트만 검색합니다. 일치하는 줄은 컨텍스트 줄의 텍스트가 아니라 MatchInfo 개체의 Line 속성 값입니다. 따라서 Context 매개 변수는 수신 Select-String 명령에서 유효하지 않습니다.

컨텍스트에 일치 항목이 포함된 경우 각 일치 항목에 대한 MatchInfo 개체에는 모든 컨텍스트 선이 포함되지만 겹치는 선은 디스플레이에 한 번만 표시됩니다.

Type:Int32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encoding

대상 파일의 인코딩 유형을 지정합니다. 기본값은 Default입니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Ascii ASCII(7비트) 문자 집합을 사용합니다.
  • BigEndianUnicode big-endian 바이트 순서와 함께 UTF-16을 사용합니다.
  • 기본 시스템의 활성 코드 페이지(일반적으로 ANSI)에 해당하는 인코딩을 사용합니다.
  • Oem 시스템의 현재 OEM 코드 페이지에 해당하는 인코딩을 사용합니다.
  • 유니코드 little-endian 바이트 순서와 함께 UTF-16을 사용합니다.
  • UTF7 UTF-7을 사용합니다.
  • UTF8 UTF-8을 사용합니다.
  • UTF32 little-endian 바이트 순서와 함께 UTF-32를 사용합니다.
Type:String
Accepted values:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

지정된 항목을 제외합니다. 이 매개 변수 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt)을 입력합니다. 와일드카드가 지원됩니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

지정한 항목을 포함합니다. 이 매개 변수 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt)을 입력합니다. 와일드카드가 지원됩니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

검색할 텍스트를 지정합니다. 텍스트가 포함된 변수를 입력하거나 텍스트를 가져오는 명령 또는 식을 입력하세요.

InputObject 매개 변수를 사용하는 것은 파이프라인 Select-String아래로 문자열을 로 보내는 것과 동일하지 않습니다.

둘 이상의 문자열을 cmdlet에 Select-String 파이프하면 각 문자열에서 지정된 텍스트를 검색하고 검색 텍스트가 포함된 각 문자열을 반환합니다.

InputObject 매개 변수를 사용하여 문자열 Select-String 컬렉션을 제출하는 경우 는 컬렉션을 단일 결합 문자열로 처리합니다. Select-String 는 문자열에서 검색 텍스트를 찾으면 문자열을 단위로 반환합니다.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-List

일치하는 텍스트의 첫 번째 instance 각 입력 파일에서 반환됩니다. 정규식과 일치하는 내용이 있는 목록 파일을 검색하는 가장 효율적인 방법입니다.

기본적으로 는 Select-String 찾은 각 일치 항목에 대해 MatchInfo 개체를 반환합니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

검색할 파일의 경로를 지정합니다. LiteralPath 매개 변수의 값은 입력된 대로 정확히 사용됩니다. 어떠한 문자도 와일드카드로 해석되지 않습니다. 이스케이프 문자가 포함된 경로는 작은따옴표로 묶으세요. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다. 자세한 내용은 about_Quoting_Rules 참조하세요.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NotMatch

NotMatch 매개 변수는 지정된 패턴과 일치하지 않는 텍스트를 찾습니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

검색할 파일의 경로를 지정합니다. 와일드카드가 지원됩니다. 기본 위치는 로컬 디렉터리입니다.

디렉터리에서 파일(예: log1.txt, *.doc또는 *.*)을 지정합니다. 디렉터리만 지정하면 명령이 실패합니다.

Type:String[]
Position:1
Default value:Local directory
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Pattern

각 줄에서 찾을 텍스트를 지정합니다. 문자열 또는 정규식을 입력합니다. 문자열을 입력하는 경우 SimpleMatch 매개 변수를 사용합니다.

정규식에 대한 자세한 내용은 about_Regular_Expressions.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Quiet

cmdlet이 MatchInfo 개체 대신 부울 값(True 또는 False)을 반환한다는 것을 나타냅니다. 패턴이 발견되면 값은 True입니다. 그렇지 않으면 값이 False입니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SimpleMatch

cmdlet이 정규식 일치가 아닌 단순 일치를 사용한다는 것을 나타냅니다. 단순 일치 Select-String 에서 는 Pattern 매개 변수의 텍스트에 대한 입력을 검색합니다. Pattern 매개 변수의 값을 정규식 문으로 해석하지 않습니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

PSObject

ToString 메서드가 있는 모든 개체를 로 파이프할 Select-String수 있습니다.

출력

Microsoft.PowerShell.Commands.MatchInfo or System.Boolean

기본적으로 출력은 찾은 각 일치 항목에 대해 하나씩 있는 MatchInfo 개체 집합입니다. Quiet 매개 변수를 사용하는 경우 출력은 패턴이 발견되었는지 여부를 나타내는 부울 값입니다.

참고

Select-String 는 UNIX의 grep 또는 Windows 의findstr.exe 비슷합니다.

cmdlet 의 sls 별칭 Select-String 은 PowerShell 3.0에서 도입되었습니다.

참고

PowerShell 명령에 대해 승인된 동사에 따르면 cmdlet의 공식 별칭 접두 Select-* 사는 이 아니라 sl입니다sc. 따라서 에 대한 Select-String 적절한 별칭은 가 아니라 sls이어야 scs합니다. 이 규칙의 예외입니다.

를 사용 Select-String하려면 찾을 텍스트를 Pattern 매개 변수의 값으로 입력합니다. 검색할 텍스트를 지정하려면 다음 조건을 사용합니다.

  • 따옴표 붙은 문자열에 텍스트를 입력한 다음 로 파이프합니다 Select-String.
  • 텍스트 문자열을 변수에 저장한 다음 변수를 InputObject 매개 변수의 값으로 지정합니다.
  • 텍스트가 파일에 저장된 경우 Path 매개 변수를 사용하여 파일의 경로를 지정합니다.

기본적으로 는 Select-StringPattern 매개 변수의 값을 정규식으로 해석합니다. (자세한 내용은 about_Regular_Expressions 참조하세요. SimpleMatch 매개 변수를 사용하여 정규식 일치를 재정의할 수 있습니다. SimpleMatch 매개 변수는 입력에서 Pattern 매개 변수 값의 인스턴스를 찾습니다.

Select-String 기본 출력은 일치 항목에 대한 자세한 정보를 포함하는 MatchInfo 개체입니다. MatchInfo 개체에는 FilenameLine과 같은 속성이 있으므로 개체의 정보는 파일에서 텍스트를 검색할 때 유용합니다. 입력이 파일에서 온 것이 아닌 경우 이러한 매개 변수의 값은 InputStream입니다.

MatchInfo 개체에 정보가 필요하지 않은 경우 Quiet 매개 변수를 사용합니다. Quiet 매개 변수는 MatchInfo 개체 대신 일치하는 항목이 있는지 여부를 나타내는 부울 값(True 또는 False)을 반환합니다.

구를 일치시키는 경우 는 Select-String 시스템에 대해 설정된 현재 문화권을 사용합니다. 현재 문화권을 찾으려면 Get-Culture cmdlet을 사용합니다.

MatchInfo 개체의 속성을 찾으려면 다음 명령을 입력합니다.

Select-String -Path test.txt -Pattern 'test' | Get-Member | Format-List -Property *