Я уверен, что у кого-то возникла следующая потребность, как быстро разбить огромный файл .gz по строкам? Базовый текстовый файл имеет 120 миллионов строк. У меня недостаточно места на диске, чтобы разархивировать весь файл сразу, поэтому мне было интересно, знает ли кто-нибудь сценарий bash / perl или инструмент, который может разбить файл (либо .gz, либо внутренний .txt) на файлы строк размером 3x 40 минут , то есть называя это так:
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 greatfile.txt.gz | голова 4000000
Примечание: я не могу получить дополнительный диск.
Благодарность!