shell脚本中,如何搜索日志文本中的关键字

单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。

多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。详细可见:https://blog.csdn.net/omaidb/article/details/120400485

 

还可以使用cat命令后面使用grep过滤等方法,

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

posted @ 2022-05-10 18:38  潜摩羯  阅读(3045)  评论(0编辑  收藏  举报