[Powershell] 대용량 텍스트 파일을 분리하기

작성: 2020-06-02 10:02:00
수정: 2023-09-22 21:35:47
오구사십오

125GB나 되는 대용량 로그파일을 분석할 일이 생겨서 내용을 분리하게 되었다.

 

Powershell 상에서 아래 코드로 원하는 line 단위로 파일을 분리할 수 있었으며, 메모리 점유율 또한 높아지지 않았다.

(물론 125GB나 되는 로그파일을 모두 쪼개는데는 무수히 많은 시간이 걸리긴 했음)

 

How To

$i=0; Get-Content [원본로그파일명] -ReadCount [읽어들일 Line 수] | %{ $i++; $_ | Out-File [출력경로(파일명포함)_$i.log]; Write-Host $i }

Example

$i=0; Get-Content input.log -ReadCount 100000 | %{ $i++; $_ | Out-File D:\tmp\split_$i.log; Write-Host $i }

 

참고로 여기서 사용된 % 문자는 Foreach-Object의 Alias 키워드이다

유익했다면 후원해 주세요