Como eu removo “^ M” de um arquivo? [duplicado]

0
    

Esta pergunta já tem uma resposta aqui:

    

Eu tenho dois arquivos "idênticos" que eu comparo no diff, e isso mostra que cada linha é diferente, depois de olhar o arquivo, descobri que um deles tem ^M no final de cada linha. Como faço para remover isso? Eu tentei este comando sed :

sed -i '' -E 's/^M//g'

este comando tr : (que, mesmo que funcionasse, eu não iria querer, pois quero fazer a edição correta)

tr -d '^M'

e este comando perl :

perl -pi -e 's/^M//g'

Mas nenhum deles alterou o conteúdo.

    
por DisplayName 27.01.2016 / 21:30

1 resposta

0

Algum tempo atrás eu encontrei essas funções em .vimrc do kenrob em sua repositório dotfiles :

" Removes the ^M character from the end of every line
function! RemoveM()
    :%s/^M$//ge
endfunction

" Replaces the ^M character with a carraige return native to the system
function! ReplaceM()
    :%s/^M/\r/ge
endfunction

Assim, você pode facilmente adotar essas funções e usar o Vim para lidar com esses caracteres ^M .

    
por 27.01.2016 / 21:44