prosource

PowerShell을 사용하여 텍스트 파일에서 특정 문자열 카운트

probook 2023. 8. 26. 11:59
반응형

PowerShell을 사용하여 텍스트 파일에서 특정 문자열 카운트

파일에서 특정 문자열을 세고 값을 변수에 저장할 수 있습니까?

저에게는 문자열 "/export"(따옴표 없음)가 될 것입니다.

한 가지 방법이 있습니다.

$FileContent = Get-Content "YourFile.txt"
$Matches = Select-String -InputObject $FileContent -Pattern "/export" -AllMatches

$Matches.Matches.Count

방법이 있습니다.

$count = (get-content file1.txt | select-string -pattern "/export").length

설명에서 언급한 것처럼 패턴을 포함하는 라인의 개수가 반환되므로, 어떤 라인에도 패턴의 인스턴스가 둘 이상 있으면 카운트가 정확하지 않습니다.

수백만 개의 일치 항목이 있을 수 있는 대용량 파일(수십 기가바이트)을 검색하는 경우 메모리 문제가 발생할 수 있습니다.다음과 같은 작업을 수행할 수 있습니다(Neal Walters의 제안에서 영감을 얻음).

Select-String -Path YourFile.txt -Pattern '/export' -SimpleMatch | Measure-Object -Line

이것은 완벽하지 않습니다 왜냐하면

  • 총 일치 항목 가 아니라 일치 항목을 포함하는 줄 를 계산합니다.
  • 변수에 카운트만 넣는 대신 카운트와 함께 일부 제목을 인쇄합니다.

필요하다면 이것들을 해결할 수 있을 것입니다.하지만 적어도 기억력이 부족하지는 않을 것입니다.

grep -co vs grep -c

둘 다 유용하고 "o" 버전에 감사합니다.나는 새로운.

언급URL : https://stackoverflow.com/questions/29889495/count-specific-string-in-text-file-using-powershell

반응형