Estou carregando um arquivo gigantesco em um banco de dados postgresql. Para fazer isso, primeiro uso splitno arquivo para obter arquivos menores (30 GB cada) e, em seguida, carrego cada arquivo menor no banco de dados usando GNU Parallele psql copy.
O problema é que leva cerca de 7 horas para dividir o arquivo e, em seguida, ele começa a carregar um arquivo por núcleo. O que eu preciso é uma maneira de informar splitpara imprimir o nome do arquivo na saída std toda vez que ele terminar de escrever um arquivo, para que eu possa canalizá-lo Parallele ele começará a carregar os arquivos no momento em que splitterminar de escrevê-lo. Algo assim:
split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
Eu li as splitpáginas de manual e não consigo encontrar nada. Existe uma maneira de fazer isso com splitou qualquer outra ferramenta?