【发布时间】:2010-10-22 12:12:08
【问题描述】:
我希望将包含超过 5000 万个条目的文本文件中的前 1000 行复制到另一个新文件中,并从原始文件中删除这些行。
有没有办法在 Unix 中使用单个 shell 命令来做同样的事情?
【问题讨论】:
-
@gagneet:您要完成的高级任务是什么?您是将文件分成块还是什么?可能有一种替代方法可以避免像这些答案一样重写整个文件。
-
@Phil 我的回答不会重写整个文件
-
@Phil:我希望将原始文件中的一些行转换为另一种格式。同样,我需要首先从这个 BIG 文件中导出这些行,然后将它们转换并复制到另一个文件中。但是解析这个文件需要很长时间,并且机器会挂起,因为正在使用将近 11G 的内存。
-
您可能希望使用文件的子集进行概要分析。特别是,使用“时间”来测试您系统上的 sed 和其他核心实用程序,以及您用于解析文件的任何其他工具,是否在文件系统或内存中运行。