caracteres de saída indesejados, por exemplo. '^ [[032m' de um script

0

Quando estamos tentando redirecionar uma saída de um servidor de produção para o sistema local, há alguns caracteres indesejados, por exemplo. %código%. Na verdade, esses são os códigos de cores que aparecem enquanto são redirecionados. Quando o mesmo script é executado no servidor sem redirecionamento, alguma parte da saída aparece em formato colorido.

Se abrirmos esse arquivo diretamente no bloco de notas ou em qualquer outra ferramenta mostrada, viremos diferentes caracteres, como abaixo.

Existe, portanto, qualquer solução possível para que eles não ocorram antes ou depois do redirecionamento.

    
por Shanker 15.11.2017 / 16:18

1 resposta

2

Se você tem o GNU sed, você pode usar isso para remover as fugas de cores do fluxo:

somecmd |sed -Ee 's/\x1b\[[0-9;]+m//g'  > outputfile

O comando sed substitui ( s/// ) o caractere de escape ( \x1b ), seguido por um colchete aberto ( \[ ) e qualquer número de dígitos ou ponto e vírgula ( [0-9;]+ ) e% a seguirm, sem nada.

    
por 15.11.2017 / 17:16