누군가가 아래의 요구를 가지고 있다고 확신합니다. 거대한 .gz 파일을 한 줄씩 나누는 빠른 방법은 무엇입니까? 기본 텍스트 파일에는 1 억 2 천만 개의 행이 있습니다. 한 번에 전체 파일을 압축 할 수있는 디스크 공간이 충분하지 않아서 누군가가 파일 (.gz 또는 내부 .txt)을 3x 4 천만 줄 파일로 분할 할 수있는 bash / perl 스크립트 또는 도구를 알고 있는지 궁금합니다. . 즉, 다음과 같이 호출합니다.
bash splitter.sh hugefile.txt.gz 4000000 1
would get lines 1 to 40 mn
bash splitter.sh hugefile.txt.gz 4000000 2
would get lines 40mn to 80 mn
bash splitter.sh hugefile.txt.gz 4000000 3
would get lines 80mn to 120 mn
이러한 일련의 솔루션을 수행 중이거나 gunzip -c는 전체 파일을 압축 해제하기에 충분한 공간이 필요합니다 (예 : 원래 문제) : gunzip -c hugefile.txt.gz | 머리 4000000
참고 : 추가 디스크를 얻을 수 없습니다.
감사!