怎么截取超大日志里某一天的log(截取大文件中两个行数之间的数据)【测试成功】

艺帆风顺 发布于 2025-04-02 19 次阅读


直接用vi打开几个G的文件效率比较低,截取其中的一段出来慢慢看

以catalinna.out为例

步骤1,找到17号的第一条在哪一行
命令:

 grep -n "^2017-07-17" catalina.out | head -1

命令返回

15739384:2017-07-17 00:00:00 INFOxxxxxx

第一条在15739384行

步骤2,找到18号的第一条在哪一行
命令:

 grep -n "^2017-07-18" catalina.out | head -1

命令返回

16198856:2017-07-18 00:00:16xxxxxxxx

第一条在16198856行

步骤3,将两个行号之间的部分拿出来(核心指令)
命令:

 sed -n '15739380,16198856p' property_catalina.out > log20170717

注意sed命令的结尾有个p

压缩一下:

gzip log20170717

最终得到log20170717.gz这个文件,拿到本地仔细观察吧

linux查询文件总行数的命令

wc -l catalina.out
    版权声明:本文内容来自CSDN:活在戏中吧,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://blog.csdn.net/qq_21856521/article/details/103224381如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。