Saya yakin seseorang memiliki kebutuhan di bawah ini, apa cara cepat untuk memecah file .gz besar demi baris? File teks yang mendasarinya memiliki 120 juta baris. Saya tidak punya cukup ruang disk untuk mem-gunzip seluruh file sekaligus jadi saya bertanya-tanya apakah ada yang tahu tentang skrip bash / perl atau alat yang dapat membagi file (baik .gz atau inner .txt) menjadi file baris 3x 40mn . yaitu menyebutnya seperti:
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
Mungkin melakukan serangkaian solusi ini atau apakah gunzip -c membutuhkan ruang yang cukup untuk seluruh file untuk di-unzip (yaitu masalah asli): gunzip -c hugefile.txt.gz | kepala 4000000
Catatan: Saya tidak bisa mendapatkan disk tambahan.
Terima kasih!