工作原理

一般情况下,日志的内容是按照时间顺序依次写入的。因此可以按照行号来定向查询。

注意

如果同一个文件内,是同一日期的日志,则只需要按照时间查询即可。

如果同一文件内有多个日期,则需要按照日期和时间一起查询才准确。

实际操作

#第一步,查询开始时间的行号,如果没有返回,则换个时间查询(查询时间的时候,一般首位要加一个空格,防止查询的不是以小时单位为开头的时间,模糊时间可以用【*】代替)

cat -n abc.log |grep ' 09:00:*' | head -n 1| awk '{print $1}'
>>683051

#第二步,查询结束时间的行号,如果没有返回,则换个时间查询

cat -n abc.log |grep ' 10:00:*' | head -n 1| awk '{print $1}'
>>1204936

#第三步,查询从开始时间的行号,到结束时间的行号内的所有日志。

sed -n 683051,1204936p abc.log 

简化版:将上面3个步合并成一条命令

paste -d , <( cat -n abc.log |grep ' 09:00:*' | head -n 1| awk '{print $1}' ) <( cat -n abc.log |grep ' 10:00:*' | head -n 1| awk '{print $1}' ) |xargs -I {} sed -n {}p abc.log

相关知识

  • paste <(date) <(date) #将2个date命令的结果用空格或TAB拼接成一行(注意每个【)】与【<】z之间必须有空格并且只能是空格,【<】与【(】之间不能有空格)。paste <(date) <(date) <(echo abc) #同上这是3个命令的结果进行拼接,多个命令以此类推。
  • xargs 的一个选项 -I,使用 -I 指定一个替换字符串 {},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次
  • head -n 2000 abc.log #从文件第一行开始,输出2000行abc.log的文件内容。
  • awk '{print $1,$4}' #每行按空格或TAB分割,输出文本中的1、4项
  • sed 可依照脚本的指令来处理、编辑文本文件。
  • cat 命令用于连接文件并打印到标准输出设备上。

Linux 查询一段时间内的日志相关推荐

  1. 查询一段时间内的具体时间

    一.问题描述: 一条订单的记录中有用车的起始时间,现在需要查询一段时间内,每天具体有几个订单.如:一个订单的用车时间为10月1号至10月5号,此时需查询出5条记录: 二.解决方案: 步骤 建表sql ...

  2. Linux 统计一段时间内的文件大小

    Linux 统计一段时间内的文件大小 There is no nutrition in the blog content. After reading it, you will not only su ...

  3. linux如何截断日志,linux 如何截取一段时间内log日志

    截取一段时间内的log日志可以使用sed命令对log文件进行抽取操作: 1,sed查看某时间段到现在的系统日志: sed -n '/May 20 17/,$p' /var/log/messages | ...

  4. linux grep 正则搜索某段时间内的日志

    命令: grep '时间' '日志文件名 ' 通过正则表达式匹配一段时间的日志信息, grep "2019-09-23 14:58:52,4[1-3][1-9]" logs

  5. 如何快速截取某段时间内的日志

    在排除故障时,需要分析发生故障的原因,避免再次出现同样的问题,需要对日志进行分析,截取故障前后时间段的日志.通常用正则表达式来获取某段时间的内的日志,比较繁琐.可以通过awk方便简捷的实现. 我这里以 ...

  6. es获取最大时间的记录_ES查询一段时间内某一循环时间段的数据

    业务需求:查询几个月类每天8点到10点的数据 最开始基于date类型,用painless脚本实现,用profile跟了下效率感觉不是很好,就冗余了个字段做range过滤,也一般,lucence了解的不 ...

  7. php 查询datetime,急急PHP,数据库中createtime字段类型为datetime,怎样根据这个查询一段时间内的数据...

    数据库中createtime字段类型为datetime,是年月日时分秒,怎样把他转换成时间戳?数据很多,一条好转换,可是那么多怎么办? 回复讨论(解决方案) select unix_timestamp ...

  8. linux将一段时间内文件压缩,在 Linux 上压缩文件的 5 种方法

    在 Linux 上压缩文件的 5 种方法时间:2020-05-07 11:18    浏览次数: 发布者:润天教育    来源:金信润天 0 在 Linux 上有不少用于压缩文件的命令.最新最有效的一 ...

  9. Oracle查询一段时间内的数据

    本以为很简单的问题,今天做了一下还是感觉得多练习才可以各个数据库的写法可能不同 Oracle 方法如下: 1.select xmdadocdt from dsdata.xmda_t where xmd ...

最新文章

  1. 提高C++性能的编程技术笔记:标准模板库+测试代码
  2. 吴恩达灵魂发问:AI社区最亟待解决的问题是什么?
  3. 定义一个DOG类(Java)
  4. 本弗莱数据可视化的生产流程图_力控锂离子电池车间数据采集系统
  5. 你随便动幕布,投影跟不上算我输,动态投影黑科技,AE特效秒变成真
  6. 微信支付在巴黎发布“智慧生活零时差”全球战略
  7. python爬虫贴吧_Python爬虫简单实现,贴吧图片一键下
  8. lvm-snapshot:基于LVM快照的备份
  9. 什么方式可以通过影子系统传播恶意代码_将恶意代码隐藏在图像中:揭秘恶意软件使用的隐写术...
  10. 对韩java_清华大学毕业的韩老师图解Java数据结构和算法教程
  11. UC伯克利超酷研究:舞痴和舞王之间,只差一个神经网络
  12. 【C#/WPF】Image图片的Transform变换:平移、缩放、旋转
  13. 【身份牌识别】基于matlab GUI模板匹配身份牌识别【含Matlab源码 1354期】
  14. errno是否是thread safe的
  15. C语言例题-计算常量e的值
  16. About Face 3:交互设计精髓pdf
  17. 口袋小精灵JAVA版下载_口袋小精灵200合一
  18. html 蜂巢布局,css3类似蜂巢网格布局样式代码
  19. python、pygame开发的太空大战游戏源代码,供学习参考
  20. 前端(刚刚开始自学)-html

热门文章

  1. Guitar Pro 8.1 重磅发布!Guitar Pro 2022 的全新功能介绍
  2. Javaweb华为商城购物系统 servlet+jsp 源码
  3. Java与设备(PLC)通信
  4. VxWorks阶段性学习总结
  5. 人遛狗程序,狗在特定的时间做指定的事情
  6. tensorflow GPU配置失败的几个解决方法
  7. 以太坊分片:安全模式机制设计
  8. matlab regionprops函数用法
  9. 手机网络代理工具_PC客户端爬虫,这样设置代理就对了
  10. android listview使用glide异步加载图片错位,闪烁问题