我检查了一些其他有关通过设备映射器,保险丝等将文件合并到内存中的问题,但是我看不到这些问题能解决我的特定问题。 (如果我错了,请纠正我)
我经常不得不分析日志文件,这些日志文件是文本文件或归档文件(gz,tar.gz,zip,...),总内存通常小于1gb。 我想从这些文件中创建一个虚拟文件,并在标准* nix命令(grep,less,...)以及我自己的工具(bash,python,c ++)中使用它进行分析。 仅阅读访问。我不需要更改文件!
所需功能
1)将文件列表(不同类型)映射到内存中的单个虚拟文件,以便我可以使用cmdline工具或文本编辑器来逐步浏览全部数据,而无需注意文件边界。 (没有“:n”之类的东西)
2)限制虚拟文件的最大大小,因为在目标系统上,我可能没有足够的内存来映射所有内容。
3)让虚拟文件充当磁盘上已映射文件列表的滑动窗口。基本上,内存中的size x高速缓存可以在需要时从磁盘重新加载数据。使用标准工具是否有可能,还是它们始终加载整个文件?在那种情况下,我将需要运行自己的编辑器,该编辑器然后可以自行处理重新加载/映射操作,并使这些操作变得更容易。
4)如果自动重新加载对标准工具不起作用,是否有办法手动完成?喜欢编辑流并使用x mb大小的缓存在数据中来回移动吗?每当到达终点时,我都会手动更改映射并向前或向后滑动窗口。
预先感谢