파워쉘로 파일내에서 필요한 문자 찾기

 

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처럼 사용할 수 있습니다.

 

 

728x90

+ Recent posts