Symbol 001E em uma caixa em um terminal Linux

0

Ao ler um arquivo de log do Windows em um terminal Linux, vejo um símbolo estranho "001E"

Como posso substituí-lo pelo espaço? Talvez algo como sed -e 's/010e/ /'

    
por Ivan 10.09.2012 / 15:53

3 respostas

1

Se você ver esses quatro dígitos hexadecimais em uma caixa, isso significa que a fonte do seu terminal não cobre esse caractere. A notação hexadecimal informa qual caractere é: U + 001E, que está no intervalo caractere de controle - 1E é ^^ (ou seja, Ctrl-^ ).

Se você quiser substituí-lo por um espaço, você pode usar

sed -e 's/\x1E/ /g' <input-file >output-file

ou

tr '6' <input-file >output-file

( tr só aceita octal).

    
por 10.09.2012 / 16:11
0

Para substituir LETRA MAIÚSCULA LATINA D COM CARON , faça o seguinte:

$ sed 's/Ď/ /g'
    
por 10.09.2012 / 15:59
0

Usando esta resposta como referência:

CHARS=$(python -c 'print u"\u001E".encode("utf8")')
sed 's/['"$CHARS"']//g' < /tmp/utf8_input.txt > /tmp/ascii_output.txt

Eu não tenho certeza qual é o seu personagem embora ... A imagem sugere que é 0x001e, mas você mencionou 0x010e. Seja qual for, você pode simplesmente alterar o script acima, conforme necessário.

    
por 10.09.2012 / 16:01