dado um texto, existe um programa que pode detectar qual é o novo caractere de linha, o Windows, Mac ou Linux?
Por exemplo, o texto a seguir é mostrado por less
memor: ^ M ^ Armazenamento incorreto acessível diretamente pela CPU ^ M ^ MO termo "memória" é frequentemente (mas nem sempre) associado à memória semicondutora endereçável, ou seja, circuitos integrados que consistem em transistores baseados em silício. ^ MA memória semicondutora é organizada em ^ Células Mmemory
Eu pensei que ^ M é o novo caractere de linha do Mac. Mas no emacs, procurei por Ctrl-q Ctrl-m e não encontrei nada.
Obrigado.
file
comando deve dar uma pista,dos2unix
também pode ajudar.Respostas:
file
relatará finais de linha para arquivos de texto. Se você executarfile
em um arquivo de texto ASCII Unix / Linux / OSX, por exemplo, ele relatará simplesmente:Se, no entanto, o arquivo tiver terminações de linha do DOS / Windows, ele informará:
Até o OS 9, os Macs usavam CR como o final da linha. Quando apresentado com esse arquivo,
file
relatará:Com o OSX, os Macs são convertidos em finais de linha padrão do Unix.
fonte
file
ainda relatar o caractere de nova linha certo?ASCII text, with CRLF, CR, LF line terminators
.ASCII text, with very long lines
. Os terminadores são LFfile
não menciona quais terminadores são usados. Veja o primeiro exemplo na resposta acima. Terminadores são mencionados apenas se o arquivo tiver terminadores não-unix. Veja o segundo e o terceiro exemplos na resposta acima. Separadamente, é provável que seu arquivo tenha uma ou mais linhas longas.