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

如何使用Expect将解码得到的数字编码替换为对应消防站名称

基于Expect实现STQC编码转消防站名称方案

核心功能

  • 自动捕获multimon-ng输出的数字编码
  • 匹配预设映射关系后自动输出对应消防站名称
  • 进程持续运行,无需重启即可持续监听新的解码结果

完整实现代码

#!/usr/bin/expect -f

# 自定义数字编码与消防站的映射关系,按格式新增即可
array set station_map {
    12345678 "OSP 示例消防站1"
    87654321 "OSP 示例消防站2"
}

# 替换为你实际运行multimon-ng的完整启动命令,确保可正常输出STQC解码后的数字串
spawn multimon-ng -a stqc [你的其他运行参数]

# 持续监听输出内容
expect {
    # 匹配8位数字编码,若实际编码长度不同可修改{8}为对应数值
    -re {(\d{8})} {
        set code $expect_out(1,string)
        if {[info exists station_map($code)]} {
            puts $station_map($code)
        } else {
            puts "未登记编码:$code"
        }
        exp_continue
    }
    eof {
        puts "解码进程已终止"
        exit 0
    }
}

使用步骤

  • 将代码中的station_map数组内容替换为你实际的数字编码与消防站对应关系
  • 将spawn行的multimon-ng启动参数替换为你日常使用的参数,保证解码功能正常
  • 保存代码为stqc_alert_convert.exp,执行chmod +x stqc_alert_convert.exp赋予执行权限
  • 直接运行./stqc_alert_convert.exp即可实现自动转换

可选调整

  • 若需要同时展示原始编码与对应名称,将输出行修改为puts "$code -> $station_map($code)"
  • 若不需要输出未登记的编码,删除else分支的puts语句即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:54:02