반응형
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
반응형
'prosource' 카테고리의 다른 글
MySQL에서 타임스탬프할 문자열 (0) | 2023.09.05 |
---|---|
오류에서 localhost를 해제하는 방법: EADDRINUSE 듣기 (0) | 2023.08.26 |
VBA나 매크로가 없는 SHA256/SHA512 해시를 위한 Excel 공식 기반 기능 (0) | 2023.08.26 |
GIT_DISCOVERY_ACROSS_FILESSYSTEM이 설정되지 않음 (0) | 2023.08.26 |
python의 sprintf와 같은 기능 (0) | 2023.08.26 |