我正在将一个非常巨大的文件加载到 postgresql 数据库中。为此,我首先split
在文件中使用以获取较小的文件(每个 30Gb),然后使用 and 将每个较小的文件加载到数据库GNU Parallel
中psql copy
。
问题是拆分文件大约需要 7 个小时,然后它开始为每个核心加载一个文件。我需要一种方法来告诉split
每次它完成写入文件时将文件名打印到std输出,这样我就可以将它通过管道传输到Parallel
它并在完成写入时开始加载文件split
。像这样的东西:
split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
我已阅读split
手册页,但找不到任何内容。有没有办法用split
或任何其他工具做到这一点?