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

Select-String Cmdlet을 사용하여 PowerShell에서 Grep

Linux/Unix에서 grep 명령은 로그 파일에서 텍스트(문자열) 또는 오류를 찾는 데 사용됩니다. Grep을 사용하면 다른 명령의 출력에서 ​​데이터를 찾거나 선택할 수 있습니다.

command | grep search

PowerShell에서는 Select-String을 사용할 수 있습니다. cmdlet을 사용하여 파일에서 텍스트 문자열을 찾습니다.

예를 들어 다음 명령은 ERROR를 포함하는 모든 행을 표시합니다. 텍스트 파일 또는 표준 출력:

Select-String -Path c:\tmp\makeapp_sxtracesxs.txt -Pattern "ERROR"

Select-String Cmdlet을 사용하여 PowerShell에서 Grep

이 명령은 찾고 있는 텍스트가 포함된 줄 수와 해당 값을 보여줍니다.

모든 TXT에서 문자열을 검색하려면 특정 디렉토리에 있는 파일을 보려면 아래 명령을 실행하십시오.

Select-String -Path c:\tmp\*.txt -Pattern "ERROR"

폴더의 모든 파일을 검색하려는 경우 이 명령을 사용할 수 있습니다. 예를 들어 이 명령은 Exchange Server에서 전송(SMTP) 및 메시지 추적 로그를 검색하는 데 유용할 수 있습니다.

제외 및 포함 옵션을 사용하여 검색을 위해 특정 파일을 포함하거나 제외할 수 있습니다. 다음 명령은 copy를 포함하지 않는 모든 TXT 및 LOG 파일을 검색합니다. 이름:
$path = "c:\tmp\*"
Select-String -Path $path -Pattern "ERROR" -Include "*.txt","*.log" -Exclude "*copy*"

이전 예에서는 지정된 디렉토리에서만 텍스트를 검색합니다. 중첩된 디렉터리에서 파일을 재귀적으로 검색하려면 Get-ChildItem을 사용하세요. cmdlet:

Get-ChildItem -Path 'c:\tmp\' -Recurse -include "*.mp3","*.avi" -ErrorAction SilentlyContinue | Select-String -SimpleMatch "ERROR","WARNING"