【发布时间】:2011-01-02 06:42:47
【问题描述】:
我有一个大的(按行数)纯文本文件,我想将它拆分成更小的文件,也按行数。因此,如果我的文件大约有 2M 行,我想将其拆分为 10 个包含 200k 行的文件,或 100 个包含 20k 行的文件(加上一个文件,其余部分;被均匀整除并不重要)。
我可以在 Python 中相当容易地做到这一点,但我想知道是否有任何忍者方法可以使用 Bash 和 Unix 实用程序来做到这一点(而不是手动循环和计算/分区行)。
【问题讨论】:
-
出于好奇,它们“分裂”后,如何“组合”它们?像“猫第 2 部分 >> 第 1 部分”之类的东西?还是有另一个忍者实用程序?介意更新您的问题吗?
-
重新组合,
cat part* > original -
是的 cat 是连接的缩写。一般来说,apropos 对于查找适当的命令很有用。 IE。查看输出:apropos split
-
@pixelbeat 太酷了,谢谢
-
顺便说一句,OS X 用户应确保他们的文件包含 LINUX 或 UNIX 样式的换行符/行尾指示符 (LF) 而不是 MAC OS X 样式的行尾指示器 (CR) - 如果您喜欢的中断是回车而不是换行,则 split 和 csplit 命令将不起作用。如果您使用的是 Mac OS,BareBones 软件的 TextWrangler 可以为您提供帮助。您可以选择您希望换行符的外观。当您保存(或另存为...)您的文本文件时。