shell - SOCAT udp 流数据发送到文件,在该文件中查找模式并将有用的模式发送到 mosquitto 代理,然后清除该文件
问题描述
我有将广播 UDP 数据发送到端口 6000 的设备
我需要对其进行改造(删除部分 c0a80ae7534d415254434c4f5544aaaa)并发送给蚊子经纪人怎么可能?
我正在尝试 socat,但它无法存储在可变流数据中。它也给了我几乎总是改变的价值观。
如何将这些数据存储到我可以发送给 mosquitto 的变量中,并且我还需要处理移位。
socat -T1 -u udp4-listen:6000,fork system:"sed G" | xxd -p
转移响应 ,我无法将其存储到变量中,此代码不起作用:
echo msg=$(socat -T1 -u udp4-listen:6000,fork system:"sed G" | xxd -p)
有什么帮助吗?我可以使用任何 debian9 命令。我不是 shell 程序员,但我应该处理这个问题。任何手册都会有很好的例子。也许它比我想象的更难?我的意思是流数据不像静态的......我只需要将广播数据发送到 mosquitto,在那里我可以处理 JS 代码(更简单)我已经控制了该设备,现在我需要反馈。
我还收到了已经是纯文本(没有移位)的数据,问题是如何将其转换为纯文本并转移到 mosquitto(作为变量)
socat -T1 -v -x PIPE UDP-LISTEN:6000,fork
解决方案
推荐阅读
- sql - 如何将选择表达式的结果保存为变量?
- azure - How to Periodically delete data in Azure SQL DB
- arrays - 根据元素之间的某些匹配删除数组行
- python - 通过 Jupyter 执行 Python:调用 quit() 和 exit() 引发 NameError
- python - 如何在 SciPy 稀疏矩阵 CSR_Matrix 中保留插入顺序?
- php - 将 Laravel 集合中的 id 参数传递给 Vue 组件
- r - 使用 RCurl::getURL() 从安全 FTP 获取数据
- hyperledger-sawtooth - 使用 hyperledger caliper 对锯齿 1.0.0 进行基准测试时出错(错误:基准测试失败,错误代码 6)
- java - 使用 Java 中的 if 语句检查 int[] 数组是否在范围内
- css - 如何使一个网格列按比例大于另一列?