2016-10-13 2 views
0

Ich habe ein Mojibake Thema wegen meiner Absturz-Programm veröffentlicht, der Teil ist einige zufällige Byte-Codes, z.Mosquito klar beibehalten Mojibake Thema

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

Und wenn ich es löschen möchten, tippe ich so etwas wie

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

Aber das hat nicht funktioniert, weil diese Zeichen nicht das Original, diese Codec ist Mismatch in ascii und Unicode so vorhanden als Zeichen.

Wie kann ich diese Retain-Nachricht löschen, ohne die gesamte Retain-Datei zu löschen?

Danke!

Antwort

1

Wenn Sie nicht herausfinden, was die tatsächliche char man sie erfassen können und sie wieder in mosquitto_pub mit so etwas wie dieses spielen:

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

Dies ist auf die Datei, um das Thema zu sparen und die Nutzlast des erste Nachricht, die dem Muster entspricht. Zwischen dem Thema und Paylaod wird ein Leerzeichen sein.

Anschließend können Sie die Datei bearbeiten, die Nutzlast und lassen Sie einfach das Thema und speichern diese als edited_file.txt

Sie dies (auf seine eigene ohne neue Zeile am Ende auf einer Linie) entfernen dann Eingang in die mosquitto_pub, fügen -n (null Nachricht) und -r Flag (behalten Nachricht)

mosquitto_pub -t `cat edited_file.txt` -r -n 
+0

Danke @hardillb! Ich habe dieses Thema entfernt! aber der Publish-Kommentar sollte eine -r Flag hinzufügen, die ich für dich bearbeitet habe :) – Asoul