在实际生产环境中,线上会出现各种问题,但是日志文件很大,不好直接打开,那么使用以下命令可快速的在文件中找到并输出
powershell
grep -B 20 -A 20 "异常信息" ./catalina.out | sed 's/^\s*$//' > exception.log
- -B 20表示在匹配行之前输出20行
- -A 20表示在匹配行之后输出20行
- "异常信息"是要搜索的字符串。
- ./catalina.out是要搜索的文件。
- sed 's/^\s*$//':使用sed命令,删除空行。
- exception.log:输出结果写入的文件名。
从多个文件中搜索,有时没权限可加sudo执行,还可将以下命令写入脚本,传入行数和要查询的信息执行
powershell
sudo grep -B $1 -A $1 $2 /home/file/log/new_log/8081/log_total.log /home/file/log/new_log/8082/log_total.log /home/file/log/new_log/8083/log_total.log | sed 's/^\s*$//' > exception.log