Tôi chắc chắn ai đó đã có nhu cầu dưới đây, cách nhanh chóng để chia một tệp .gz khổng lồ theo dòng là gì? Tệp văn bản cơ bản có 120 triệu hàng. Tôi không có đủ dung lượng đĩa để nén toàn bộ tệp cùng một lúc nên tôi tự hỏi liệu có ai đó biết về tập lệnh bash / perl hoặc công cụ có thể chia tệp (cả .gz hoặc .txt) thành các tệp dòng 3x 40mn không . tức là gọi nó như:
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
Có lẽ đang thực hiện một loạt các giải pháp này hoặc gunzip -c sẽ cần đủ dung lượng để toàn bộ tệp được giải nén (tức là vấn đề ban đầu): gunzip -c hugefile.txt.gz | đầu 4000000
Lưu ý: Tôi không thể lấy thêm đĩa.
Cảm ơn!