【发布时间】:2014-07-07 16:20:02
【问题描述】:
我试图找出一种方法来修改文本文件(特别是删除特定行),而无需将大部分文件读入内存或重写整个文件。这里所说的文件比主内存大约 15-50 Gigs。
附:我正在使用 Linux。
【问题讨论】:
-
是的,当你补充说它是一个文本文件时,我想这么多。
-
不,你很擅长 SOL。
-
这只是一个想法,但是如果您对文件或其部分进行内存映射并在返回的指针上使用
memmove和memset之类的东西呢?应该允许您直接写入和擦除文件吗? -
@Brandon,当一行被删除(或添加)并且大小发生变化时会发生什么?做不到。至少不会发明一些令人难以置信的复杂方案。
-
@Duck 我明白你的意思。我没有考虑尺寸变化。
标签: linux text-files