Como encontrar e remover caracteres especiais no unix

0

Eu tenho um arquivo grande. No final do arquivo, tenho um caractere especial de fim de linha, que é uma pequena seta para a direita. O código hexadecimal para isso é ... & # x2192.

Como eu veria a última linha do arquivo e removeria essas pequenas setas da direita do arquivo?

Atualmente, tenho um script de shell que pega um arquivo, descompacta o arquivo e o move para outro arquivo chamado MYFILE.TXT. Eu preciso procurar a última linha de MYFILE.TXT para ver se esse caractere especial existe. Se sim, remova esse caractere. Se o caractere não existir, não faça nada no arquivo. Obrigado por qualquer ajuda que você possa me fornecer

Obrigado,

    
por knight944 02.03.2017 / 16:33

1 resposta

1

Você não disse em que contexto você precisa remover este caractere da última linha, mas supondo que você precise filtrá-lo, você já tentou algo tão simples como:

sed '$s/→//'

?

Se você precisar editar o arquivo, a implementação GNU de sed tem um modo fácil no local, que você pode invocar com -i :

sed -i '$s/→//' file-to-edit

Use -i '' em vez de -i no sed dos BSDs modernos.

    
por 02.03.2017 / 16:50