一、grep带行号搜索
grep -n '20190731232045209536...' catalina.out
查出行号,通过行号查
例如,订单20190507094828181748在 17251440 行有发货的入参。
那么
cat catalina.out | tail -n +17251400 | head -n 200
查17251400到查17251600行
二、linux 如何显示一个文件的某几行(中间几行)
1.从第3000行开始,显示1000行。即显示3000~3999行
cat catalina.out | tail -n +3000 | head -n 1000
2.显示1000行到3000行
cat catalina.out| head -n 3000 | tail -n +1000
三、less搜索
第一步:打开日志文件 less catalina.log
第二步:定位到日志文件的最后一行:shift+g(其实就是切换到大写G)移动到最后一行 小写g定位到第一行。shift+g后会计算行号,此时可以ctrl+c中断计算。
然后出现一个line numbers truned off。继续ctrl+c中断。
第三步:b往前一页一页翻页查看 空格往后一页一页翻页查看
参考:
向后搜索
输入 /8901260941117117102 查8901260941117117102关键字
输入 n 向前查找下一个匹配的文本
输入 N 向后查找前一个匹配的文本
向前搜索
输入 ?8901260941117117102 查8901260941117117102关键字
输入 n 向前查找下一个匹配的文本
输入 N 向后查找前一个匹配的文本
四、查找某个时间段的日志:
比如查询2018-08-15 10:37:32到2018-08-15 10:38:01这是时间段的日志
命令:sed -n '/starttime/,/endtaime/p' catalina.out
sed -n '/2019-08-01 00:00:32/,/2019-08-01 23:00:00/p' catalina.out
注意:这里的starttime和endtime都必须是日志文件中存在的
如何判定他们存在呢?命令:
grep '2018-08-15 10:37:32' catalina.out
五、按条件分页查询
cat catalina.out | grep '20190731232045209536...'|less
个人比较喜欢用第四种 less的方式查日志。