Divida o arquivo de texto grande (cerca de 50 GB) em vários arquivos

Gostaria de dividir um arquivo de texto grande em torno do tamanho de 50 GB em vários arquivos. Os dados nos arquivos são assim- [x = qualquer número inteiro entre 0-9]

xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
...............
...............

Pode haver alguns bilhões de linhas no arquivo e eu gostaria de escrever, por exemplo, 30/40 milhões por arquivo. Eu acho que os passos seriam-

Eu tenho que abrir o arquivoentão, usando readline () precisa ler o arquivo linha por linha e gravar ao mesmo tempo em um novo arquivoe assim que atingir o número máximo de linhas, criará outro arquivo e começará a escrever novamente.

Eu estou querendo saber, como reunir todas essas etapas de uma maneira eficiente e rápida na memória. Eu já vi alguns exemplos na pilha, mas nenhum deles ajudou totalmente o que eu exatamente precisava. Eu realmente apreciaria se alguém pudesse me ajudar.

questionAnswers(4)

yourAnswerToTheQuestion