Jestem pewien, że ktoś miał poniższą potrzebę, jaki jest szybki sposób dzielenia ogromnego pliku .gz po linii? Podstawowy plik tekstowy ma 120 milionów wierszy. Nie mam wystarczającej ilości miejsca na dysku, aby rozpalić cały plik naraz, więc zastanawiałem się, czy ktoś wie o skrypcie bash / perl lub narzędziu, które mogłoby podzielić plik (.gz lub wewnętrzny .txt) na pliki linii 3x 40mn . tzn. nazywając to tak:
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
Być może robi serię tych rozwiązań, czy też gunzip -c wymagałby wystarczającej ilości miejsca, aby rozpakować cały plik (tj. Oryginalny problem): gunzip -c hugefile.txt.gz | głowica 4000000
Uwaga: nie mogę dostać dodatkowego dysku.
Dzięki!