You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jq命令格式化Check Point访问规则库输出并提取指定信息

提取Check Point访问规则库分组的规则范围

直接使用以下命令即可得到你需要的格式输出:

mgmt_cli -r true -d 192.168.86.201 show access-rulebase name Network --format json | jq -r '
  .rulebase[] |
  select(.type == "access-section") |
  "\(.name) (\(if .from == .to then .from else "\(.from)-\(.to)" end))"
'

命令逻辑说明

  1. 遍历规则库节点:.rulebase[] 遍历顶层的规则库数组,定位到所有规则分组和规则条目
  2. 筛选分组节点:select(.type == "access-section") 只保留类型为access-section的分组节点(这正是你需要按组提取的单元)
  3. 格式化输出:
    • 直接使用分组自带的name作为标题
    • 判断from和to字段:如果两者相等(分组只有单条规则),则只显示该编号;否则显示起始-结束的范围
    • 拼接成分组名 (规则范围)的目标格式

之前命令的问题

你之前先提取了单个规则的name和rule-number,再用--slurp聚合,这种方式丢失了原始JSON中规则的分组结构,无法关联到每个分组的规则范围。而原始的access-section节点已经自带from和to标记了该分组的规则编号区间,直接利用这些字段就能高效得到结果。

内容的提问来源于stack exchange,提问作者DrGeek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:55:22