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

如何从/dev/urandom输出移除字节?及过滤/dev/random的0xFF后发至串口

从随机设备输出中移除指定字节的解决方案

问题1:如何从/dev/urandom的输出中移除指定字节?

用tr命令就能实现,它支持直接删除指定十六进制值的字节。示例命令如下:

# 移除0x41(对应ASCII字符'A')
tr -d '\x41' < /dev/urandom > output_file

如果需要移除多个字节,只需在参数里追加对应的十六进制表示:

# 同时移除0x41和0x42
tr -d '\x41\x42' < /dev/urandom > output_file

问题2:剔除/dev/random中的0xFF字节并发送到串口

你的管道思路完全可行,用tr工具替代你设想的remove_byte即可,直接执行以下命令:

tr -d '\xFF' < /dev/random > /dev/ttyUSB0

该命令会实时读取/dev/random的输出,过滤掉所有值为0xFF的字节,再将处理后的数据写入串口设备/dev/ttyUSB0。

如果需要更复杂的过滤逻辑,也可以用awk实现(性能略低于tr,适合特殊场景):

awk '{for(i=1;i<=length;i++){c=substr($0,i,1);if(c!="\xff")printf "%s",c}}' < /dev/random > /dev/ttyUSB0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:02:21