linux如何在日志中查找关键字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux如何在日志中查找关键字相关的知识,希望对你有一定的参考价值。

linux如何在日志中查找关键字

方法很多:
单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。
多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。
还可以使用cat命令后面使用grep过滤等方法,不如上面两个实用。上面两个较常用。
参考技术A linux如何在日志中查找关键字?Linux日志中如何查找关键字及其前后的信息
在日常工作中,我们经常需要查看日志,比如可以通过 tail 命令实时查看日志,也可以通过 cat 等命令查看日志信息。

但现在我们要讨论的是,如何从日志中通过关键字过滤出我们想要的内容,方法有多种,今天我们主要以 cat 命令来进行学习。

假设存在日志文件 hrun.log,查询的关键字为"新增用户":

根据关键字查看日志
点我复制
cat hrun.log | grep "新增用户"
根据关键字查看后10行日志
点我复制
cat hrun.log | grep "新增用户" -A 10
根据关键字查看前10行日志
点我复制
cat hrun.log | grep "新增用户" -B 10
根据关键字查看前后10行日志,并显示出行号
点我复制
cat -n hrun.log | grep "新增用户" -C 10
查看日志前 50 行
点我复制
cat hrun.log | head -n 50
查看日志后 50 行,并显示出行号
点我复制
cat -n hrun.log | tail -n 50
说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

 
参考技术B 单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。还可以使用cat命令后面使用grep过滤等方法,不如上面两个实用。上面两个较常用。 参考技术C

两种方法:一种是直接进入编辑模式,vi进入后,通过匹配关键字查找你要的东西;一种是直接cat文件然后grep关键字。

拓展:

1、Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。

2、Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

参考技术D 1、使用grep命令进行筛选:
如:grep -i "http" /var/log/messages,可以查询出现“http”的所有行。
2、使用cat加grep查询
如: cat /var/log/messages | grep "http",和上面一样的功能。

Linux日志中如何查找关键字及其前后的信息

在日常工作中,我们经常需要查看日志,比如可以通过 tail 命令实时查看日志,也可以通过 cat 等命令查看日志信息。

但现在我们要讨论的是,如何从日志中通过关键字过滤出我们想要的内容,方法有多种,今天我们主要以 cat 命令来进行学习。

假设存在日志文件 hrun.log,查询的关键字为"新增用户"

  • 根据关键字查看日志
    cat hrun.log | grep "新增用户"
  • 根据关键字查看后10行日志
    cat hrun.log | grep "新增用户" -A 10
  • 根据关键字查看前10行日志
    cat hrun.log | grep "新增用户" -B 10
  • 根据关键字查看前后10行日志,并显示出行号
    cat -n hrun.log | grep "新增用户" -C 10
  • 查看日志前 50 行
    cat hrun.log | head -n 50
  • 查看日志后 50 行,并显示出行号
    cat -n hrun.log | tail -n 50

说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

以上是关于linux如何在日志中查找关键字的主要内容,如果未能解决你的问题,请参考以下文章

linux如何在日志中查找关键字前几行结尾几行

在Linux下如何查询应用日志关键字查找

Linux如何对文件内容中的关键字进行查找

linux中如何查看指定时间内的日志?如今天6月5日,我要查看6月1日的日志?

linux如何查询指定日期的系统安全日志

linux下如何提取日志中指定的一段内容?100分急求!!!