Je charge un fichier assez gigantesque dans une base de données postgresql. Pour ce faire, j'utilise d'abord splitle fichier pour obtenir des fichiers plus petits (30 Go chacun), puis je charge chaque fichier plus petit dans la base de données à l'aide de GNU Parallelet psql copy.
Le problème est qu'il faut environ 7 heures pour diviser le fichier, puis il commence à charger un fichier par cœur. Ce dont j'ai besoin est un moyen de dire splitd'imprimer le nom du fichier sur la sortie std chaque fois qu'il termine l'écriture d'un fichier afin que je puisse le diriger Parallelet qu'il commence à charger les fichiers au moment où il a splitfini de l'écrire. Quelque chose comme ça:
split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
J'ai lu les splitpages de manuel et je ne trouve rien. Existe-t-il un moyen de le faire avec splitou tout autre outil?