根据关键字或日期查找日志

本文介绍了在Linux环境下如何通过vi/vim、cat/grep、sed等工具高效查找日志文件中的关键字和特定日期范围内的信息。详细阐述了各个命令的使用方法,包括正则表达式、选项设置以及与其他命令的组合使用,帮助提升日志分析效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux:根据关键字或日期查找日志

1. 在vi/vim中,使用
/keyword 可以向下查找 
?keyword 可以向上查找
找到之后,按n查找下一个,按N查找上一个

2. cat和grep一起使用
cat 日志文件名称 | grep keyword,这个等同于grep keyword 日志文件名称
如果想要显示上下文行数,可以用cat -n 行号 日志文件名称 | grep keyword
或者cat 日志文件名称 | grep -A/-B/-C n keyword 
想要多个关键字查找,可以这样,最后取交集
cat 文件 | grep -A/-B/-C n keyword | grep -A/-B/-C n keyword | grep -A/-B/-C n keyword
想要取并集,可以这样,-E是开启扩展的正则表达式,关键字里面的|,则表示或者
cat 文件 | grep -E 'keyword1|keyword2'
或者
grep -E 'keyword1|keyword2' 文件

3. grep常用选项
	-E :开启扩展(Extend)的正则表达式。

  -i :忽略大小写(ignore case)。

  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。

  -n :显示行号

  -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker

  -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。

  -o :只显示被模式匹配到的字符串。

  --color :将匹配到的内容以颜色高亮显示。

  -A  n:显示匹配到的字符串所在的行及其后n行,after

  -B  n:显示匹配到的字符串所在的行及其前n行,before

  -C  n:显示匹配到的字符串所在的行及其前后各n行,context

4. sed命令进行时间段内查找
sed -n '/2020-11-09 10:20:18/,/2020-11-09 10:30:*/p' file_name.log
-n 只打印模式匹配的行
可以通过*进行模糊匹配
有两个坑:其一,如果开始日期没有,则会返回空;其二,如果结束日期没有,则会返回到最后的全部日志
ps:结尾后的p不能遗漏

5. 可以sed和grep结合使用
比如:
sed -n '/2020-11-09 10:20:18/,/2020-11-09 10:30:*/p' file_name.log | grep "啦啦啦,这里填写关键字"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值