需求示例:输出日志文件中某一时间段的日志,比如过去某天或某几天的日志,可以日期开始、结束时间作为关键字,获取两者中间的那段日志。
输出文件内容中指定两个关键字之间的内容
sed -n \'1,/AAA/!p\' 11 |sed -n \'1,/BBB/p\'
输出文件11内容中从关键字AAA到BBB之间的内容,可用于获取日志文件中两个时间段之间的文件内容
-n 按行输出,与p结合使用
!p 取反输出
需求示例:获取数据库binlog日志中某些sql语句及执行时间,因执行时间在语句之前的两三行,所以需要输出匹配sql语句及之前部分,结合grep -v 筛选掉部分干扰日志,可以干脆利索的获得想要的日志
grep -A 5 foo file 显示foo及后5行
grep -B 5 foo file 显示foo及前5行
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
实践应用:grep -B 3 \"update t_business set \" cdb_bin_mysqlbin.000004.sql |grep -v \"SET T\"|grep -B 3 \"delete_status=1,\"|grep -v \"\\-\\-\" |grep -v \"# at \"|grep -v \"use \\`xx_db\" >111
继续阅读与本文标签相同的文章
下一篇 :
菜单列表使用map 组装菜单树
-
最佳 Linux 发行版汇总
2026-05-18栏目: 教程
-
StartDT AI Lab | 视觉智能引擎——AI识货赋能商品数字化
2026-05-18栏目: 教程
-
【DockerCon2017技术解读】如何在阿里云一键部署高可用的Kubernetes集群
2026-05-18栏目: 教程
-
基于Jenkins的开发测试全流程持续集成实践
2026-05-18栏目: 教程
-
什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了
2026-05-18栏目: 教程
