Linux下查找文件(日志)中的关键字

进入到需要查看日志文件的目录,执行以下命令,即可快速定位到想要查看日志内容所在行:

1、查看日志 前 n行:  

cat 或者 tail 日志文件名 | head -n 数量

示例1 :cat  api.log | head -n 200   # 查看log前200行

示例2: tail  api.log | head -n 10     # 查看log前10行

2、查看日志 尾 n行:

cat   或者 tail 日志文件名 | tail -n 数量

示例: cat  api.log | tail -n 200   # 查看log后200 行

示例: tail  api.log | tail -n 15     # 查看log后15 行

3、根据 关键词 查找日志 并返回关键词所在的所有行:

 方法一 :  cat  或者 tail 日志文件名 | grep  "关键词"

 示例1:cat  api.log | grep "前端入参"      # 返回log日志中包含“前端入参”字样的所有行

 示例2:tail  api.log | grep "前端入参"      # 返回log日志中包含“前端入参”字样的所有行
方法二:  grep -i  "关键词" 日志文件名  (与方法一效果相同,写法不同)

示例1:grep -i  "21DYN60587" catalina.out  # 返回log日志中包含 21DYN60587 的所有行

需要注意的是:这两个命令有着严格的区别,适用于不同的场景,请根据场景合理使用对应的日志方能做到事半功倍。以下是这两个命令整理出来的区别:

tail用于查看文档的后N行或持续刷新内容;

常用参数:

参数 说明 -f 显示文件最新追加的内容 -q 当有多个文件参数时,不输出各个文件名 -v 当有多个文件参数时,总是输出各个文件名 -c [字节数] 显示文件的尾部n个字节内容 -n [行数] 显示文件的尾部n行内容

cat命令用于查看内容较少的纯文本文件,如果文件非常大,不建议使用 cat

常用参数:

参数 说明 -n或--number 显示行号 -b或--number-nonblank 显示行号,但是不对空白行进行编号 -s或--squeeze-blank 当遇到有连续两行以上的空白行,只显示一行的空白行

还有就是使用引号,单引号 的和双引号 “ "的都可以 !

经验分享 程序员 微信小程序 职场和发展