日志查询命令分类与总结
一、基础过滤命令
-
简单过滤
grep "key1" file.txt
- 基本过滤grep "key1" file.txt | grep "key2" | grep "key3"
- 多条件与(AND)过滤
-
结果限制
tail -n 10
- 显示最后10行tail -n 5000
- 显示最后5000行
示例:
//查看test.log指定行号后的内容,比如50行
tail -n +50 test.log
二、上下文查看命令
-
显示匹配行周围内容
grep -A 50 'pattern'
- 显示匹配行后50行grep -B 10 'pattern'
- 显示匹配行前10行grep -C 10 'pattern'
- 显示匹配行前后各10行grep -10 'pattern'
- 等同于-C 10
示例:
grep -A 10 ‘123’ test.log //打印匹配行的后10行
grep -B 10 ‘123’ test.log//打印匹配行的前10行
grep -C 10 ‘123’ test.log//打印匹配行的前后10行
grep -10 ‘123’ test.log//打印匹配行的前后10行
三、特定场景查询
-
时间范围查询
- 精确时间点:
grep "2022-08-08 15:00"
- 时间范围:
grep '2022-08-28 20:[3-4][0-9]'
(20:30-20:49) - 使用sed查询时间范围:
sed -n '/start_time/,/end_time/P'
示例:
grep ‘2022-08-28 20:[3-4][0-9]’ error.log -C 10 查询2 - 精确时间点: