拆分命令以分块大型 CSV - 使用换行符

拆分命令以分块大型 CSV - 使用换行符

我正在使用该命令将一个大的 CSV 文件拆分为小块split。每个文件应包含仅 1000 行。

我使用的命令是

cat large.csv | split -a3 -l1000  --filter='gzip > $FILE.gz' - small.csv_

它确实有效,但问题是当我的 CSV 中有一个新行字符并且它来自第 1000 行时,它就会破坏所有内容。

例如:

Row no 1000:

1001 | my_first_name | my_last_name | Address: 2001,appartment
my_city | my_country | pin-610156

第 4 列有一个新行字符,占用 2 行。 split 命令认为第 1000 行将在 处结束Address: 2001,appartment,下一行将转到一个新文件。这会破坏 2 个文件。

  1. 第 1000 行的文件 - 没有其余的列(假设 file:10)
  2. 下一个文件(文件 11)将以my_city- 前 4 列不在这里开始。

当我将这些文件加载​​到数据库中时,这些文件会出现问题。

有什么方法或解决方法可以解决这个问题吗?

相关内容