Bildschirmprotokollierung – Wie kann ich Steuerzeichen und Eingabeaufforderungen der interaktiven Shell weglassen?

Bildschirmprotokollierung – Wie kann ich Steuerzeichen und Eingabeaufforderungen der interaktiven Shell weglassen?

Eine meiner ersten Fragen. Bitte kommentieren Sie, wenn weitere Erklärungen oder Informationen erforderlich sind oder wenn die Frage nicht so ist, wie sie hier sein sollte

Ich verwende den Bildschirm, um Server automatisch zu starten (in diesem Beispiel den Minecraft-Server).

Ich erzeuge einen Bildschirm wie

screen -S 'server_1' -d -m "java -Xmx4G -Xms4G -jar spigot.jar"

Anschließend das Logfile setzen und die Protokollierung aktivieren mit

screen -S 'server_1' -X logfile /srv/serverinstalls/1/stdout.txt
screen -S 'server_1' -X log

Der Inhalt von stdout.txt wird dann über NodeJS eingelesen.

Die Ausgabe von "cat stdout.txt" sieht gut aus, aber wenn ich die Datei mit "less stdout.txt" ansehe, beginnt jede Zeile mit

>ESC[2K^M

wobei ^M und ESC Steuerzeichen sind (^M ist das Zeichen \r). Ich denke, auf diese Weise protokolliert screen die Eingabeaufforderung (beginnend mit '>') der interaktiven Shell, die der Server bereitstellt

Gibt es eine Möglichkeit, den Bildschirmbefehl so zu konfigurieren, dass diese Steuerzeichen weggelassen werden und der interaktive Teil der Shell nicht protokolliert wird?

Bei Bedarf kann ich bei jedem Lesen der Protokolldatei zusätzliche Befehle ausführen oder die unerwünschten Zeichen irgendwie mit NodeJS ersetzen, aber die Eingabeaufforderung sieht nicht auf jedem Server gleich aus.

Ich verwende Debian 9.9 (Stretch) mit Screen 4.05.00

Antwort1

Hat es jemand von den unten aufgeführten versucht?

ansifilter
less -r
strings

verwandte Informationen