0

由于我的崩溃程序,我发布了一个 mojibake 主题,��部分是一些随机字节码,例如

test/���������������/yoyoyo qqq

如果我想清除它,我输入类似

mosquitto_pub -t test/���������������/yoyoyo -r -n

但这不起作用,因为这些�字符不是原始�,这些编解码器在 ascii 和 unicode 中不匹配,因此呈现为�字符。

如何在不删除整个保留文件的情况下清除这些保留消息?

谢谢!

4

1 回答 1

1

如果您无法计算出实际的字符,您可以捕获它们并将它们播放回 mosquitto_pub,如下所示:

mosquitto_sub -v -C 1 -N -t 'test/+/yoyoyo' > file.txt

这会将与模式匹配的第一条消息的主题和有效负载保存到文件中。主题和paylaod之间会有一个空格。

然后,您可以编辑文件以删除有效负载并仅保留主题(单独一行,末尾没有新行)并将其另存为edited_file.txt

然后,您可以将其反馈给mosquitto_pub,添加 -n 标志(空消息)和 -r 标志(保留消息)

mosquitto_pub -t `cat edited_file.txt` -r -n
于 2016-10-13T08:24:35.830 回答