linux 日志搜索

grep

把匹配到的内容输出到终端

  1. 带行号搜索 -n
grep '下发' yunxi-dg-base-center-trade/yunxi-dg-base-center-trade.log -n
  1. 搜索多个关键字(或的关系),egrep
# 匹配文件中存在 下发 或 SAP 的行
egrep '下发|SAP' yunxi-dg-base-center-trade.log -n
  1. 搜索多个关键字(且的关系),grep 结果再次 grep
# 匹配文件中同时存在 下发 和 SAP 的行
grep '下发' yunxi-dg-base-center-trade.log -n | grep 'SAP'
  1. 搜索文件是最后出现的一次,需要结合 tail 命令,根据 grep 的结果再次 tail,所以 -n 2 不是倒数第二次,而是两行
# 文件中最后一次出现 error 的信息
grep 'error' yunxi-dg-base-center-trade.log -n | tail -n 1

# 最后两次
grep 'error' yunxi-dg-base-center-trade.log -n | tail -n 2
  1. 带行号搜索不区分大小写 -in
grep 'error' yunxi-dg-base-center-trade.log -in
  1. 显示匹配行以及其前后 10 行 -C num
grep 'error' yunxi-dg-base-center-trade.log -C 10
  1. 如果查找到了,出现了几次 -c 注意大写和小写的区别
grep 'error' yunxi-dg-base-center-trade.log -c
  1. 显示匹配行以及其后 10 行 -A num
grep 'error' yunxi-dg-base-center-trade.log -A 10
  1. 显示匹配行以及其前 10 行 -B num
grep 'error' yunxi-dg-base-center-trade.log -B 10

less

打开文件,在文件里面高亮显示匹配到的内容

  1. 打开要搜索的文件 less 文件
less yunxi-dg-base-center-trade.log
  1. 搜索内容:/ 然后输入要搜索的关键词,然后 enter
  2. 导航搜索结果
作用 命令 备注
下一个命中 n 小写N
上一个命中 shift+n 大写N
下一行 j enter
上一行 k
下一页 f 空格
上一页 b
  1. 跳转指定行:输入数字然后 enter
  2. 退出 less:按 q 键即可退出 less

其他命令

  1. cat 把文件输出到终端,不能搜索,不能翻页,只能鼠标滚动翻,适合于短小精悍的文件
  2. more 和 less 类似,不能搜索,翻页只能后翻页
  3. head 查看文件头部的内容
  4. tail 查看文件末尾的内容,当文件是 动态 追加内容时比较有用

# 输出 a.log 到终端
cat a.log

# 配合 grep 搜索
cat yunxi-dg-base-center-trade.log | grep "error" -in -C 10

# 默认显示 a.log 后10行
tail a.log

# 动态显示 a.log 后20行
tail a.log -n 20 -f

posted @   CyrusHuang  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示