Este blog é dedicado a compartilhar conhecimentos nas áreas de Manutenção de Computadores, Humor, Tutoriais, Internet, Notícias, Técnologia e Informática de Modo Geral...

Como remover os caracteres "^M" de arquivos no Linux


A Situação
Seu arquivo no linux apareceu com um monte de caracteres estranhos no final de cada linha, o famoso e famijerado CTRL-M ou  "^M" azul.

A Causa
O arquivo foi transferido entre sistemas de diferentes tipos com diferentes convenções de quebra de linha. Por exemplo, editores de texto baseados no Windows terão um caractere especial de quebra de linha (CR+LF) no final das linhas para indicar uma quebra da linha ou nova linha, e este, será exibido incorretamente no Linux (^M).

Isto pode ser difícil de identificar, já que algumas aplicações ou programas podem lidar corretamente com os caracteres da nova linha, enquanto outras não o fazem. Assim, alguns serviços podem falhar ou não responder corretamente. 

Muitas vezes, isto acontece porque o arquivo é criado ou talvez até mesmo editado no Windows e depois transferido para um sistema Linux. Isto normalmente ocorre quando um arquivo é transferido do MS-DOS (ou MS-Windows) sem o modo ASCII ou de texto.

A Solução
A seguir, diferentes opções para remover, converter ou traduzir os caracteres ^M:

Usando  o comando dos2unix (às vezes chamado fromdos, d2u ou unix2dos):

    dos2unix nome do arquivo

Usando o perl:

    perl -p -e ArquivoOriginalComErro 's/\r//g' > ArquivoNovoReparado

Usando o editor de fluxo sed: (essa é a opção mais simples e eficiente)

    sed -e ArquivoOriginalComErro "s/\r//g" > ArquivoNovoReparado
 
Informações adicionais
Para fins de depuração em um sistema Unix, o seguinte comando tornará visível o caracter ^M:
     
    cat -v <nomedoarquivo>

Fonte: microfocus



2 Comentários:

  • Cristiano Pereira Alves de Morais says:
    10 de outubro de 2020 às 19:09

    Muito proveitoso este comando para corrigir o nome do arquivo. Boa dica.

  • WNantes says:
    19 de outubro de 2020 às 14:59

    Olá Cristiano. Que bom que a dica foi útil. Obrigado pelo comentário!

Postar um comentário

A T E N Ç Ã O ! ! ! Todos os comentários são bem vindos. Porém, comentários com palavrões ou citações que sejam consideradas ofensivas serão sumariamente deletados.

Tks.