linux查找命令总结

来源:互联网 发布:adidas旗舰店淘宝真假 编辑:程序博客网 时间:2024/06/18 02:31


一:根据目录递归查询文件:

grep -rl keyword logPath   # -r代表递归  -l 代表只显示文件名



二:日志查询:

场景1:按行号查看,并过滤出关键字附件的日志

由于grep只能匹配关键字,不能显示关键字上下的内容,所以先打出关键字的行号,再根据行号打出上下文。

- -根据关键字查询并打出行号

cat -n test.log |grep 'keyword'

-- 假设keyword信息在159行,为了查看前后10行的内容:

cat -n test.log |tail -n +149|head -n 20

tail -n +149表示查询149行之后的日志

head -n 20 则表示在前面的查询结果里再查前20条记录

 

场景2:按照日期查找日志

sed -n '/2017-07-17 16:13:21/,/2017-08-17 15:27:56/p'  test.log

-- 查找18号的Error级别日志

sed -n '/^2017-08-18.*ERROR/p' store_info.log


如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:

(1)使用more和less命令, 如: cat -n test.log |grep "地形" |less    less命令详解

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:

cat -n test.log |grep 'keyword'  >xxx.txt



场景3:count 找有几行匹配

grep -c 'ERROR' demo.log   #输出文件demo.log中查找所有包行ERROR的行的数量  


sed -n '/^2017-08-18.*ERROR/p' store_info.log


原创粉丝点击