首页 > 开发 > linux > 正文

如何高效安全地从一个大文件中截取部分信息

2017-09-11 20:33:43  来源: 网友分享

下午的时候有个同学问:

他们服务器有一个5G的日志文件,如何从中截取出

10.5-11.18的日志另一个文件

日志文件有规范的时期格式,类似于web服务器日志。

相关问题:

对于cat grep这类linux命令,如果操作一个大文件

会不会占用很大的内存?

解决方案

用sed好了,sed是按行处理的,不会将整个文件加载到内存中,可以放心使用
要切出从2012-02-09到2012-09-10的所有数据行,(假设你的x08日志文件以yyyy-MM-dd的日期格式开头)只需要:

sed -n '/^2012-02-09/,/^2012-09-10/p' whole.log > part.log