If you manage to run the split command, then the rest will be easy with small scripts (using e.g., bash, sed, awk, perl or python). If so, look at the head of the next file 38.pgn, and get the remaining part of the game from 38.pgn and add it at the end of 37.pgn and remove it from the beginning of 38.pgn. For example, you can check the tail of each file, say file 37, to see if it has been split in the middle of a game. Maybe you can fix this issue manually after the split. The split may happen in the middle of a game.
I hope you won't face memory issues in using this tool.
It is also possible to specify the number of bytes in each file. Check 'man split' to see what other options split offers. But I think zip itself allows the split option, so any other modern zip/unzip tool would have the option. The simplest usage will be something like the following (in a terminal), which will split a file into 1000 partsĭo this after extracting. You can perhaps use the linux split command to split the file into as many files as you want.