Linux/Unix에서 grep 명령은 로그 파일에서 텍스트(문자열) 또는 오류를 찾는 데 사용됩니다. Grep을 사용하면 다른 명령의 출력에서 데이터를 찾거나 선택할 수 있습니다.
command | grep search
PowerShell에서는 Select-String을 사용할 수 있습니다. cmdlet을 사용하여 파일에서 텍스트 문자열을 찾습니다.
예를 들어 다음 명령은 ERROR를 포함하는 모든 행을 표시합니다. 텍스트 파일 또는 표준 출력:
Select-String -Path c:\tmp\makeapp_sxtracesxs.txt -Pattern "ERROR"
이 명령은 찾고 있는 텍스트가 포함된 줄 수와 해당 값을 보여줍니다.
모든 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"