根据行数分割文本文件的命令


16

情况:

我有一个大约1.5GB的文本文件,其中包含大约几4000000行。

我想将其导入到Libreoffice calc,正如您所知,您不能导入具有大量行的大文件(我认为最大为65000行)。

无论如何,我需要的是一个简单的命令,该命令可以将该文件拆分为较小的文件,每个文件中的行数小于65000行。


@hakermania:完成了。
塔伦2014年

Answers:


19

您可以使用以下split命令:

split -l N /path-to-file

其中N是文件中可以包含的最大行数。

此命令会将文件拆分为较小的文件,每个文件包含N行。

使用man split更多的信息。


3

如果使用split并创建多个文件,那么下一个问题将是如何使用Calc来操纵所有这些文件中的所有数据。这就是将一个问题叠加到另一个问题上。如果有65000行,这将是62(!)页。

您只是使用了错误的工具。使用Libreoffice Base或MySQL导入数据,然后使用Libreoffice Calc对数据进行计算和/或操作。

关于限制,这取决于您使用的Libreofficeversion:

  • 3.3.3之前的版本:限制为65536行
  • 3.3.3及更高版本:1 048 576行(​​1M)

如果需要,可以用4页的3.3.3+版本进行4m记录,但是如果这样做还不够,那么LibreOffice的基本模块几乎可以完全没有行限制地导入。这里是如何做到这一点的介绍,并在这里是一个示例数据库导入文件。在Base中操作数据既简单又快速。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.