
Uma das minhas primeiras perguntas. Por favor, comente se forem necessárias mais explicações ou informações ou se a pergunta não for como deveria estar aqui
Estou usando a tela para iniciar servidores automaticamente (servidor minecraft neste exemplo).
Estou gerando uma tela como
screen -S 'server_1' -d -m "java -Xmx4G -Xms4G -jar spigot.jar"
Em seguida, configure o arquivo de log e habilite o log com
screen -S 'server_1' -X logfile /srv/serverinstalls/1/stdout.txt
screen -S 'server_1' -X log
O conteúdo de stdout.txt é então lido via NodeJS.
A saída de "cat stdout.txt" parece boa, mas se eu visualizar o arquivo com "less stdout.txt", cada linha começa com
>ESC[2K^M
onde ^M e ESC são caracteres de controle (^M é o caractere \r). Acho que é assim que a tela registra o prompt (começando com '>') do shell interativo que o servidor fornece
Existe alguma maneira de o comando screen ser configurado para omitir esses caracteres de controle e não registrar a parte interativa do shell?
Se necessário, posso executar comandos adicionais sempre que ler o arquivo de log ou substituir de alguma forma os caracteres indesejados usando NodeJS, mas o prompt não parece o mesmo em todos os servidores.
Estou rodando no Debian 9.9 (stretch) com tela 4.05.00
Responder1
Já tentou alguém abaixo?
ansifilter
less -r
strings