[Powershell] 파일내에서 필요한 문자 찾기 Select-String, UNIX의 Grep 및 Windows의 Findstr처럼 사용
파워쉘로 파일내에서 필요한 문자 찾기
Select-String "찾을문자" 경로/파일
findstr "찾을문자" 경로/파일
결과:
파일이름: 찾을문자가 포함된 열을 보여줌
Select-String는 대소문자 구분없이 찾고,
findstr은 대소문자를 구분하는 듯 하다.
파일 한두개에서 찾는 다면 파일을 열어 찾을 수 있겠지만,
만약 파일이 100 이상이 된다면 하나씩 열어 찾을 수는 있지만 시간이 오래 걸릴겄이다.
셀제 백업된 로그 파일을 분석하면서 파일이 커서 열수 없을때 쪼개면 1000개가 넘어 갈 수 도 있는데
이때 유용하게 사용할 수 있다.
특이사항은 한글 검색은 안되는 듯 하다.
e.g.
PS C:\Users\Administrator\Documents> Select-String "admin" ./*.txt
OracleXE.txt:27:SQL> @apxxepwd admin
OracleXE.txt:31:...changing password for ADMIN
OracleXE.txt:38:http://127.0.0.1:8080/apex/apex_admin
OracleXE.txt:39:admin
PS C:\Users\Administrator\Documents> findstr "admin" ./*.txt
OracleXE.txt:SQL> @apxxepwd admin
OracleXE.txt:http://127.0.0.1:8080/apex/apex_admin
OracleXE.txt:admin
참고>
같음(==)
Select-String == findstr
출처>
help Select-String
이름
Select-String
개요
문자열 및 파일에서 텍스트를 찾습니다.
구문
Select-String [-Path] <string[]> [-Pattern] <string[]> [-AllMatches] [-Case
Sensitive] [-Context <Int32[]>] [-Encoding ] [-Exclude <string[]>]
[-Include <string[]>] [-List] [-NotMatch] [-Quiet] [-SimpleMatch] [<CommonP
arameters>]
Select-String -InputObject [-Pattern] <string[]> [-AllMatches] [
-CaseSensitive] [-Context <Int32[]>] [-Encoding ] [-Exclude <string
[]>] [-Include <string[]>] [-List] [-NotMatch] [-Quiet] [-SimpleMatch] [<Co
mmonParameters>]
설명
Select-String cmdlet은 입력 문자열 및 파일에서 텍스트 및 텍스트 패턴을 검색
합니다. 이 cmdlet을 UNIX의 Grep 및 Windows의 Findstr처럼 사용할 수 있습니다.