Wil*_*mKF 5 linux emacs tail head
我有一些长度为 100 到 300 MB 的文本文件,我想在 Emacs 中查看它们,但是我的 Emacs 在打开和遍历如此大的文件时遇到了一些性能问题。因此,我正在寻找一个简单的实用程序来将文件拆分为可管理的块,比如每个 50 MB,并根据原始名称和一些后缀来命名块以指示它们在序列中的位置。每个块都会在前一个被截断的地方拾取,并且不超过 50 MB,最后一个块可能更短。
是否有任何简单的工具可以在 Linux 计算机上执行此操作,例如 head 或 tail 之类的东西,可以提供多个结果,每个块一个?
例如,给定test.out
120 MB 长的文件,将其分成test.out.1
前 50 MB、后test.out.2
50 MB 和test.out.3
文件末尾的其余 20 MB。
我可以使用的组合head
,并tail
得到碎片,但我想一个工具,抽象出这一切,也许是一个Perl脚本或Python脚本有人已经创造了做这样的任务呢?
Hen*_*nes 18
已经有一个很好的工具: split
> 人 1 分裂 姓名 split -- 将文件分割成几部分 概要 split [-l line_count] [-a suffix_length] [file [prefix]] split -b byte_count[K|k|M|m|G|g] [-a suffix_length] [文件 [前缀]] split -p 模式 [-a suffix_length] [文件 [前缀]]
split --bytes 50M test.out test.out_
会将文件拆分test.out
为 test.out_xaa、test.out_xab、test.out_xac、...
一个更丑陋的解决方案是使用 dd
dd if=test.out of=test.out.part1 bs=1M count=50 skip=0
使用 test.out 中的前 50M 创建一个名为 test.out.part1 的文件。您可以将 skip 的值增加到 1 以获得第二个块,增加到 2 以获得第三个等等。只需确保也更改文件名,否则最终会覆盖相同的输出文件。
归档时间: |
|
查看次数: |
5547 次 |
最近记录: |