PowerShell 로 여러 파일 에서 키워드 검색 기능 구현

요 며칠 Powershell 을 보고 있 습 니 다.아주 강 한 것 같 습 니 다.작은 작업 은 powershell 로 여러 파일 에서 만 줄 의 기록 을 검색 하 는 스 크 립 트 입 니 다.처음에 Get-Content 를 Where-Object 와 결합 하여 실현 하려 고 했 는데 검색 결과 가 너무 느 리 고 검색 한 항목 이 표 시 된 후에 어느 파일 에서 왔 는 지 모 르 겠 습 니 다.이것 도 쉽게 실현 되 지만 여러 가지 방법 에 대한 탐색 을 통 해 저 는 강력 한 명령 이 이런 모든 수 요 를 실현 할 수 있 고 매우 빠르다 는 것 을 알 게 되 었 습 니 다.
일반적으로 IIS 로그 분석 에 사 용 됩 니 다.이 PS 명령 을 소개 하기 때문에 IIS 로 그 는 서버 에서 캡 처 되 었 습 니 다.여 기 는 테스트 용 데이터 의 절반 에 불과 합 니 다.
먼저 해당 디 렉 터 리 에 들 어가 현재 디 렉 터 리 에 있 는 파일 을 봅 니 다.그 중 네 개의 로그 파일 은 테스트 에 사 용 됩 니 다.다음 과 같다.

그리고 다음 명령 으로 그 강력 한 기능 을 실현 합 니 다.

예 를 들 어 키워드 write 를 검색 하려 면 write 리 턴 을 입력 한 후에 검색 한 결 과 는 다음 과 같 습 니 다(부분 만 캡 처 합 니 다.여 기 는 프라이버시 때문에 로그 파일 은 제 가 만 든 것 입 니 다.데이터 의 양 이 비교적 많 을 뿐 내용 은 허구 입 니 다~).

이 문 구 를 임시 변수 에 부여 하여 이 순간 에 얼마나 많은 데 이 터 를 찾 았 는 지 확인 할 수 있 습 니 다.

사실 많 지 않 습 니 다.4 개의 로그 파일 에서 500 개의 데 이 터 를 순식간에 찾 아 냈 습 니 다.사실 이것 은 알 아 볼 수 없습니다.제 가 만 든 데이터 의 양 이 아직 많 지 않 기 때 문 입 니 다.
다음은 이 강력 한 명령 에 대해 간단하게 설명 한다.
전체적으로 select-string 이라는 명령 을 사 용 했 습 니 다.구체 적 인 용법 은 다음 과 같 습 니 다.
http://technet.microsoft.com/zh-cn/library/dd315403.aspx
Get-ChildItem 은 현재 디 렉 터 리 에 있 는 모든 항목 을 얻 은 다음 파 이 프 를 통 해|입력 합 니까?(where-Object 의 별명)을 선택 하고 현재 디 렉 터 리 에 있 는 log 파일 을 선택 합 니 다.$현재 대상,즉 앞에서 찾 아 낸 결 과 를 대표 합 니 다.-like 는 패턴 매 칭 을 사 용 했 습 니 다.$(Read-host)는 콘 솔 에서 읽 습 니 다.C\#의 ReadLine()(해당 하 는 표준 출력 은 Write-Host)과 같 습 니 다.즉,사용자 가 키 워드 를 입력 하면 명령 은 뒤에서 실 행 됩 니 다.
입문 한 지 얼마 되 지 않 았 기 때문에,잘못 이 있 으 면,대 신 들 이 많이 가 르 칩 니 다.

좋은 웹페이지 즐겨찾기