grep 日志搜索技巧
所属分类 linux
浏览量 97
grep Global Regular Expression Print
在日志文件中搜索特定的关键字或模式
grep [options] pattern [file...]
egrep 等同于 grep -E,支持更丰富的正则表达式特性
常用选项:
-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
grep的规则表达式(正则一定要转义)
^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。
$ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
. #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
* #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.* #一起用代表任意字符。
[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^] #匹配一个不在指定范围内的字符
\(..\) #标记匹配字符,如'\(love\)',love被标记为1。
\< #锚定单词的开始,如:'\ #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\} #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。
x\{m,\} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
x\{m,n\}#重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。
\w #匹配文字和数字字符,也就是[A-Za-z0-9],
\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b #单词锁定符,如: '\bgrep\b'只匹配grep。
grep "error" filename
grep -i "error" filename
-i 忽略大小写
grep -v "error" filename
-v 反向匹配,不包含关键字的行
-E 启用扩展正则表达式
包含 error 或 warning 的日志行
grep -E "error|warning" filename
以 error开头的日志行
grep -E "^error" filename
包含关键字 error 和 failed 的行
grep "error" 文件名 | grep "failed"
提取包含 error的日志行的上下文信息
grep -C 5 "error" filename
-A -B -C 显示匹配行之后、之前和周围的行数
搜索错误代码为四位数字的行
grep "ERROR[0-9]{4}" logfile.log
包含 ERROR 但不包含 INFO的行
grep "ERROR" logfile.log | grep -v "INFO"
grep "404" access.log
grep "error" /var/log
递归搜索一个目录及其子目录中的所有文件
grep -r "error" /var/log
grep -E "boots?" logfile.log
返回包含 boot 或 boots 的行
grep -E "pattern1|pattern2" file.txt
匹配 pattern1 或 pattern2 的行
-l 仅显示包含匹配行的文件名
grep -l "pattern" *.txt
列出所有包含 pattern 的 .txt 文件
搜索包含特殊字符(如 $)的行,需要使用反斜杠 \ 进行转义
grep '\$' file.log
egrep -wi --color 'warning|error|critical' /var/log/messages
-w 单词匹配
linux之grep命令
上一篇
下一篇
JDK future 与 netty future promise 实例
netty整体架构笔记
netty FastThreadLocal
flink jar包上传目录设置
netty NioEventLoop 性能优化与最佳实践
netty NioEventLoop 实例