当前位置: 首页 > ds >正文

linux中如何在日志里面检索nowStage不等于1的数据的指令

你想在 Linux 中查找日志文件中 nowStage 不等于 1 的所有 JSON 行,当前你已经使用了:

Bash
深色版本
grep -rn "nowStage" ./
这个命令可以找到包含 "nowStage" 字样的所有行及其所在的文件名和行号,但还不能筛选出 nowStage != 1 的数据。

✅ 正确做法:使用 grep + jq(推荐)或 grep -v 来过滤
✅ 方法一:使用 jq(处理 JSON 更专业)
💡 前提:需要安装 jq 工具(轻量级的命令行 JSON 处理器)

安装 jq(如未安装):
Bash
深色版本
# Ubuntu/Debian
sudo apt-get install jq

# CentOS/RHEL
sudo yum install jq

# macOS (Homebrew)
brew install jq
指令如下:
Bash
深色版本
grep -r "nowStage" ./ | jq 'select(.data.nowStage != 1)'
解释:
grep -r "nowStage" ./:先找出所有含有 nowStage 的行(可能是多文件)
| jq 'select(.data.nowStage != 1)':通过 jq 过滤出 nowStage 不等于 1 的 JSON 数据
✅ 这种方式最准确,不会误判文本内容,是解析 JSON 日志的首选方法。

✅ 方法二:纯文本方式(使用 grep -v)
如果你无法安装 jq,也可以使用正则表达式进行匹配,虽然不如 jq 精确,但在简单场景下可用。

查找 nowStage 不等于 1 的行:
Bash
深色版本
grep -r '"nowStage":\s*[^1]' ./
如果你想排除 nowStage": 1 或 nowStage": 12 等情况(更精确):
Bash
深色版本
grep -r '"nowStage":\s*[2-9]\|[1-9][0-9]' ./
或者结合 grep -v 排除掉 nowStage": 1 的情况:
Bash
深色版本
grep -r '"nowStage":' ./ | grep -v '"nowStage":\s*1\s*}'
📝 示例说明
日志样例:
Json
深色版本
{"rspCode":200,"data":{"orderId":"abc","nowStage":1,"allStage":12}}
{"rspCode":200,"data":{"orderId":"def","nowStage":2,"allStage":12}}
{"rspCode":200,"data":{"orderId":"ghi","nowStage":12,"allStage":12}}
上面的指令会输出后两条(nowStage 不等于 1 的数据)。

✅ 总结:推荐组合
方式    是否推荐    说明
grep + jq    ✅✅✅ 强烈推荐    最准确、安全,适合处理 JSON 格式数据
grep -v + 正则    ✅ 临时可用    快速实现,但可能有误判风险
单独 grep "nowStage"    ❌    只能定位关键字,不能判断值是否为 1
🚀 最终推荐命令:
Bash
深色版本
grep -r "nowStage" ./ | jq 'select(.data.nowStage != 1)'
 

http://www.xdnf.cn/news/13182.html

相关文章:

  • 视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
  • Java解析前端传来的Unix时间戳
  • Vue 自动导入函数和变量插件 unplugin-auto-import
  • MySQL故障排查、生产环境优化与存储引擎MyISAM和InnoDB
  • 什么是TRS收益互换?金融创新架构下的交易系统开发与实践
  • MacBook pro 修改Homebrew 为中国源
  • [Java恶补day20] 54. 螺旋矩阵
  • 互联网大厂Java求职面试:云原生与微服务架构的深度探讨
  • python基础语法Ⅰ
  • 基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
  • el-switch文字内置
  • 配置 macOS 上的 Ruby 开发环境
  • stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
  • 加密通信 + 行为分析:运营商行业安全防御体系重构
  • glb/gltf格式批量转换fbx/obj,材质贴图在,批量转换stl/dae等其他格式,无需一个个打开
  • 国产化Excel处理组件Spire.XLS教程:用 Java 获取所有 Excel 工作表名称(图文详解)
  • 【动态规划 数论】P9759 [COCI 2022/2023 #3] Bomboni|普及+
  • 十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
  • 大模型智能体核心技术:CoT与ReAct深度解析
  • mcts蒙特卡洛模拟树思想
  • 脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
  • 【Rust TCP编程】Rust网络编程之TCP编程语法解析与应用实战
  • PyG测试GCN无线通信网络拓扑推理方法时间复杂度
  • 使用python进行图像处理—像素级操作与图像算术(4)
  • Ai自动补全编程工具:llama vscode
  • kafka-重平衡
  • ES6(ES2015)特性全解析
  • PostgreSQL 对 IPv6 的支持情况
  • C/Python/Go示例 | Socket Programing与RPC
  • MinHook 如何对.NET底层的 Win32函数 进行拦截(上)