linux堡垒机下定位日志文件内容

查找关键词grep

命令:

grep '关键字' 文件 --color

功能:搜素文件内容

语法

grep [-iv] 关键字 文件
	-i 不区分大小写
	-v 忽略指定字符串
	-n 显示行号
	-C <显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行前后的内容。 
	-E :开启扩展(Extend)的正则表达式

示例:

#查看当前目录下文件可以不加路径
grep -i mysql instasl.log 
 
 #查看文件信息,同时忽略段首#开头的行
grep -v ^# /etc/inittab 

从多个文件中查找关键词

命令:

grep 'linux' test.txt test2.txt

输出:

grep -n 'linux' test.txt test2.txt 

grep 'linux' test.txt test2.txt 

多文件时,输出查询到的信息内容行时,会把文件的名字显示在行前并加上":"作为标示符

//实例:找出已u开头的行内容
cat test.txt |grep ^u

//实例:输出非u开头的行内容
cat test.txt |grep ^[^u]

//实例:输出以hat结尾的行内容
cat test.txt |grep hat$

//实例:显示包含ed或者at字符的内容行
cat test.txt |grep -E "ed|at"

输出:

[root@localhost test]# cat test.txt |grep -E "peida|com"

peida.cnblogs.com

[root@localhost test]# cat test.txt |grep -E "ed|at"




实战操作

搜索一个关键词

 #包含关键词内容的上下文
 grep -C 5 '关键词' catalina.out --color

搜索多个关键词

或操作

# 找出文件(filename)中包含123或者包含abc的行
grep -E '123|abc' filename 

# 用egrep同样可以实现
egrep '123|abc' filename   

# awk 的实现方式
awk '/123|abc/' filename   

与操作

#显示既匹配 关键词1 又匹配 关键词2 的行。
grep '关键词1' files | grep '关键词2' --color

返回一个匹配项

# 使用-m 1 ,返回第一个匹配项
grep -m 1 '关键词' filename --color

#使用|head -1,返回第一个匹配项
grep '关键词' filename | head -1
 
#返回最后一个匹配项
grep '关键词' filename | tail -1

参考文档

posted @ 2020-11-11 00:16  至安  阅读(362)  评论(0编辑  收藏  举报