윈도우 대용량 텍스트 파일 나누는 방법

텍스트로만 이루어진 단일 로그 파일이 수십, 수백 GB 단위로 생성되기도 합니다. 이런 로그 파일은 메모장으로 열 수도 없을뿐더러, 운이 안 좋으면 과부하로 시스템이 뻗어버릴 수도 있습니다. 용량이 커서 서버 밖으로 꺼내서 분석을 하기도 쉽지 않습니다.

 

이런 경우 윈도우 운영체제에서 대응 가능한 방법에 대해 알아보겠습니다. 첫 번째는 파일의 내용을 일부씩 확인하는 방법이고, 두 번째는 텍스트 파일을 여러 개의 파일로 나누어 저장하고 반출하는 방법입니다.

대용량 로그 파일 확인 방법

예시를 위해 log1, log2, log3, … log10000까지 이어지는 1만줄짜리 Large_logs.txt를 생성했습니다.

1. CMD more로 내용 확인

more 명령어를 이용하면 텍스트의 일부씩만 로드하며 내용을 확인할 수 있습니다.

 

Large_logs.txt 파일이 있는 경로에서 cmd를 실행합니다. 파일탐색기 경로창에 cmd를 입력하고 엔터를 치면 해당 경로에서 cmd가 실행됩니다.

 

cmd실행

 

more 명령어로 파일을 오픈합니다.

more Large_logs.txt

 

cmd more

 

cmd 결과

 

맨 위에서부터 파일의 내용을 확인할 수 있습니다. 아래 방향키를 누르면 내용이 아래로 내려갑니다. 스페이스를 누르면 한 페이지씩 이동합니다. 확인이 끝나면 q를 눌러 빠져나옵니다. 맨 아래 보이는 More (0%)처럼 출력되는 내용이 전체 파일 내용의 몇 퍼센트 위치에 있는지 확인할 수 있습니다.

2. 파워쉘로 파일 나누기

cmd와 마찬가지로 파일탐색기 경로에 powershell을 입력하고 엔터를 칩니다.

 

powershell 실행

 

아래의 명령 형식을 이용하면 됩니다. 원본 텍스트파일을 N라인씩 분할해서 마지막 줄까지 나누어 파일을 저장하는 구문입니다.

 

[구문]

$i=0; Get-Content 원본파일명 -ReadCount 분할 라인 수 | %{ $i++; $_ | Out-File 분할파일명-$i.log; Write-Host $i }

 

[예시]

1만줄짜리 Large_logs.txt 파일을 100줄씩 분할해서 저장해 보겠습니다.

$i=0; Get-Content Large_logs.txt -ReadCount 100 | %{ $i++; $_ | Out-File output-$i.log; Write-Host $i }

 

powershell 실행

 

로그파일 분할

 

Large_logs.txt 텍스트 파일이 output-n.log라는 이름으로 순차적으로 100줄씩 정상 저장됐습니다.

반응형

댓글

Designed by JB FACTORY