linux查看日志小技巧

#查看日志后 100 行
tail -n 100 catalina.log  //不增长
tail -fn 100 catalina.log //增长

#查看日志前 100 行
head -n 100 catalina.log 

#根据关键字查询
tail -fn 100 catalina.log | grep "key-word"

#查看关键字所在行
cat -n catalina.log | grep "key-word"

#查关键字后10行
tail -fn 100 catalina.log | grep -A 10  "key-word"

#查关键字前20行
tail -fn 100 catalina.log | grep -B 20 "key-word"

#查关键字前后各10行
tail -fn 100 catalina.log | grep -C 10  "key-word"

#根据行号查询前后几行(行号100,查前20、后10)
cat -n catalina.log |tail -n +80 | head -n 30 //从第80行开始往后30行

#根据时间查询日志(> /log.txt 生成文件)

sed -n '/2021-11-02 11:00:07/,/2021-11-02 11:58:07/p' nohup.out > /log.txt

#根据时间查询日志
不要带秒(因为日志里面没有这个秒的数据,这段时间的日志就不给查不出来)

sed -n '/2021-02-21 11:00/,/2021-02-21 11:58/p' nohup.out