ведение журнала экрана - Как пропустить символы управления интерактивной оболочкой и подсказки?

ведение журнала экрана - Как пропустить символы управления интерактивной оболочкой и подсказки?

Один из моих первых вопросов. Пожалуйста, прокомментируйте, если требуются дополнительные пояснения или информация или если вопрос не такой, как должен быть здесь

Я использую screen для автоматического запуска серверов (в данном примере — сервер Minecraft).

Я создаю такой экран

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

Затем настройте файл журнала и включите ведение журнала с помощью

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

Затем содержимое stdout.txt считывается через NodeJS.

Вывод «cat stdout.txt» выглядит нормально, но если я просматриваю файл с помощью «less stdout.txt», каждая строка начинается с

>ESC[2K^M

где ^M и ESC — управляющие символы (^M — символ \r). Я думаю, что именно так screen регистрирует приглашение (начинающееся с '>') интерактивной оболочки, предоставляемой сервером.

Можно ли как-то настроить команду screen-command так, чтобы она пропускала эти управляющие символы и не регистрировала интерактивную часть оболочки?

При необходимости я могу выполнять дополнительные команды каждый раз при чтении файла журнала или каким-то образом заменять нежелательные символы с помощью NodeJS, но приглашение выглядит по-разному на каждом сервере.

Я работаю на Debian 9.9 (stretch) с экраном 4.05.00

решение1

Пробовали ли вы что-нибудь из перечисленного ниже?

ansifilter
less -r
strings

Связанный контент